Tutorial: Conceber uma Base de Dados do Azure para MySQL com a CLI do Azure
APLICA-SE A: Banco de Dados do Azure para MySQL - Servidor Único
Importante
O servidor único do Banco de Dados do Azure para MySQL está no caminho de desativação. É altamente recomendável que você atualize para o Banco de Dados do Azure para o servidor flexível MySQL. Para obter mais informações sobre como migrar para o Banco de Dados do Azure para servidor flexível MySQL, consulte O que está acontecendo com o Banco de Dados do Azure para Servidor Único MySQL?
A Base de Dados do Azure para MySQL é um serviço de base de dados relacional na cloud da Microsoft baseado no motor de base de dados da Edição de Comunidade do MySQL. Neste tutorial, utiliza a CLI do Azure (interface de linha de comandos) e outros utilitários para saber como:
- Criar uma Base de dados do Azure para MySQL
- Configurar a firewall do servidor
- Utilize a ferramenta da linha de comandos mysql para criar uma base de dados
- Carregar dados de exemplo
- Consultar os dados
- Atualizar dados
- Restaurar dados
Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.
Pré-requisitos
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Guia de início rápido para Bash no Azure Cloud Shell.
Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.
Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Entrar com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.
Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.
- Este artigo requer a versão 2.0 ou posterior da CLI do Azure. Se estiver usando o Azure Cloud Shell, a versão mais recente já está instalada.
Se tiver várias subscrições, escolha a subscrição adequada na qual o recurso existe ou é cobrado. Selecione um ID de subscrição específica na sua conta com o comando az account set.
az account set --subscription 00000000-0000-0000-0000-000000000000
Criar um grupo de recursos
Crie um grupo de recursos do Azure com o comando az group create. Um grupo de recursos é um contentor lógico no qual os recursos do Azure são implementados e geridos como um grupo.
O exemplo seguinte cria um grupo de recursos com o nome myresourcegroup
na localização westus
.
az group create --name myresourcegroup --location westus
Criar uma Base de Dados do Azure para o servidor MySQL
Crie uma Base de Dados do Azure para o servidor MySQL com o comando az mysql server create. Cada servidor pode gerir múltiplas bases de dados. Geralmente, é utilizada uma base de dados em separado para cada projeto ou para cada utilizador.
O exemplo seguinte cria uma Base de Dados do Azure para o servidor MySQL localizada em westus
no grupo de recursos myresourcegroup
com o nome mydemoserver
. O servidor tem um usuário administrador chamado myadmin
. É um servidor de uso geral, Gen 5 com 2 vCores. Substitua <server_admin_password>
pelo seu próprio valor.
az mysql server create --resource-group myresourcegroup --name mydemoserver --location westus --admin-user myadmin --admin-password <server_admin_password> --sku-name GP_Gen5_2 --version 5.7
O valor do parâmetro sku-name segue a convenção {pricing tier}_{compute generation}_{vCores} como nos exemplos abaixo:
--sku-name B_Gen5_2
mapeia para vCores Basic, Gen 5 e 2.--sku-name GP_Gen5_32
mapeia para Fins Gerais, Ger 5 e 32 vCores.--sku-name MO_Gen5_2
mapeia para Otimizada para Memória, Ger 5 e 2 vCores.
Leia a documentação dos escalões de preços para entender os valores válidos por região e por escalão.
Importante
O início de sessão e a palavra-passe de administrador de servidor que especificar aqui serão necessários para iniciar sessão no servidor e nas respetivas bases de dados mais tarde neste início rápido. Lembre-se ou grave estas informações para utilização posterior.
Configurar a regra de firewall
Crie uma regra de firewall ao nível da Base de Dados do Azure para o servidor MySQL com o comando az mysql server firewall-rule create. A regra de firewall ao nível do servidor permite que uma aplicação externa, como a ferramenta de linha de comandos mysql ou o MySQL Workbench, se ligue ao seu servidor através da firewall do serviço Azure MySQL.
O exemplo seguinte cria uma regra de firewall chamada AllowMyIP
que permite ligações a partir de um endereço IP específico, 192.168.0.1. Substitua o endereço IP ou intervalo de endereços IP que correspondem ao local onde os irá ligar.
az mysql server firewall-rule create --resource-group myresourcegroup --server mydemoserver --name AllowMyIP --start-ip-address 192.168.0.1 --end-ip-address 192.168.0.1
Obter as informações da ligação
Para ligar ao seu servidor, terá de fornecer credenciais de acesso e informações de anfitrião.
az mysql server show --resource-group myresourcegroup --name mydemoserver
O resultado está no formato JSON. Aponte o fullyQualifiedDomainName e o administratorLogin.
{
"administratorLogin": "myadmin",
"administratorLoginPassword": null,
"fullyQualifiedDomainName": "mydemoserver.mysql.database.azure.com",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.DBforMySQL/servers/mydemoserver",
"location": "westus",
"name": "mydemoserver",
"resourceGroup": "myresourcegroup",
"sku": {
"capacity": 2,
"family": "Gen5",
"name": "GP_Gen5_2",
"size": null,
"tier": "GeneralPurpose"
},
"sslEnforcement": "Enabled",
"storageProfile": {
"backupRetentionDays": 7,
"geoRedundantBackup": "Disabled",
"storageMb": 5120
},
"tags": null,
"type": "Microsoft.DBforMySQL/servers",
"userVisibleState": "Ready",
"version": "5.7"
}
Ligar ao servidor com o mysql
Utilize a ferramenta de linha de comandos do mysql para ligar à Base de Dados do Azure para o servidor MySQL. Neste exemplo, o comando é:
mysql -h mydemoserver.mysql.database.azure.com -u myadmin@mydemoserver -p
Criar uma base de dados vazia
Assim que estiver ligado ao servidor, crie uma base de dados vazia.
mysql> CREATE DATABASE mysampledb;
Na linha de comandos, execute o comando seguinte para mudar a ligação para a base de dados recentemente criada:
mysql> USE mysampledb;
Criar tabelas na base de dados
Agora que sabe como ligar à Base de Dados do Azure para MySQL, conclua algumas tarefas básicas.
Em primeiro lugar, crie uma tabela e carregue-a com alguns dados. Vamos criar uma tabela que armazena informações de inventário.
CREATE TABLE inventory (
id serial PRIMARY KEY,
name VARCHAR(50),
quantity INTEGER
);
Carregar dados para as tabelas
Agora que tem uma tabela, insira alguns dados na mesma. Na janela da linha de comandos aberta, execute a seguinte consulta para inserir algumas linhas de dados.
INSERT INTO inventory (id, name, quantity) VALUES (1, 'banana', 150);
INSERT INTO inventory (id, name, quantity) VALUES (2, 'orange', 154);
Tem agora duas linhas de dados de exemplo nas tabelas que criou anteriormente.
Consultar e atualizar os dados nas tabelas
Execute a seguinte consulta para obter informações da tabela de base de dados.
SELECT * FROM inventory;
Também pode atualizar os dados nas tabelas.
UPDATE inventory SET quantity = 200 WHERE name = 'banana';
A linha é atualizada em conformidade ao obter dados.
SELECT * FROM inventory;
Restaurar uma base de dados para um ponto anterior no tempo
Imagine que eliminou acidentalmente esta tabela. É algo de que não é fácil recuperar. A Base de Dados do Azure para MySQL permite-lhe voltar atrás para qualquer ponto anterior no tempo até aos últimos 35 dias e restaurar este ponto anterior no tempo para um novo servidor. Pode utilizar este servidor novo para recuperar os dados eliminados. Os passos seguintes restauram o servidor de exemplo para um ponto antes da tabela ter sido adicionada.
Para o restauro, precisa das seguintes informações:
- Ponto de restauro: selecione uma hora antes do servidor ter sido alterado. Tem de ser maior ou igual ao valor da Cópia de segurança mais antiga da base de dados de origem.
- Servidor de destino: indique um novo nome de servidor para o qual pretende restaurar
- Servidor de origem: indique o nome do servidor do qual pretende restaurar
- Localização: não pode selecionar a região, por predefinição é igual ao servidor de origem
az mysql server restore --resource-group myresourcegroup --name mydemoserver-restored --restore-point-in-time "2017-05-4 03:10" --source-server-name mydemoserver
O comando az mysql server restore
precisa dos seguintes parâmetros:
Definição | Valor sugerido | Descrição |
---|---|---|
resource-group | myresourcegroup | O grupo de recursos no qual se encontra o servidor de origem. |
nome | mydemoserver-restored | O nome do novo servidor que é criado pelo comando restore. |
restore-point-in-time | 2017-04-13T13:59:00Z | Selecione um ponto anterior no tempo para o qual restaurar. Esta data e hora têm de estar dentro do período de retenção de cópias de segurança do servidor de origem. Utilize o formato de data e hora ISO8601. Por exemplo, pode utilizar o seu fuso horário local, como 2017-04-13T05:59:00-08:00 , ou utilizar o formato UTC Zulu 2017-04-13T13:59:00Z . |
source-server | mydemoserver | O nome ou ID do servidor de origem do qual pretende restaurar. |
Restaurar um servidor para um ponto anterior no tempo cria um novo servidor, copiado como o servidor original do ponto anterior no tempo que especificar. A localização e os valores do escalão de preço do servidor restaurado são os mesmos do servidor de origem.
O comando é síncrono e irá regressar depois de o servidor ser restaurado. Depois de o restauro ser concluído, localize o novo servidor que foi criado. Certifique-se de que os dados foram restaurados conforme esperado.
Clean up resources (Limpar recursos)
Se não precisa destes recursos para outro início rápido/tutorial, pode eliminá-los ao executar o seguinte comando:
az group delete --name myresourcegroup
Se apenas quiser eliminar o único servidor recém-criado, pode executar o comando az mysql server delete.
az mysql server delete --resource-group myresourcegroup --name mydemoserver
Próximos passos
Neste tutorial, aprendeu a:
- Criar uma Base de Dados do Azure para o servidor MySQL
- Configurar a firewall do servidor
- Utilizar a ferramenta de linha de comandos mysql para criar uma base de dados
- Carregar dados de exemplo
- Consultar os dados
- Atualizar dados
- Restaurar dados