Tutorial: Criar um Banco de Dados do Azure para MySQL usando 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 da desativação. É altamente recomendável que você atualize para o servidor flexível do Banco de Dados do Azure para MySQL. Para obter mais informações sobre a migração para o servidor flexível do Banco de Dados do Azure para MySQL, confira O que está acontecendo com o Servidor Único do Banco de Dados do Azure para MySQL?
O Banco de Dados do Azure para MySQL é um serviço de banco de dados relacional na nuvem da Microsoft, baseado no mecanismo de banco de dados MySQL Community Edition. Neste tutorial, você usará a CLI (interface de linha de comando) do Azure e outros utilitários para aprender a:
- Criar um Banco de Dados do Azure para MySQL
- Configurar o firewall do servidor
- Use a ferramenta de linha de comando mysql para criar um banco de dados
- Carregar dados de exemplo
- Consultar dados
- Atualizar dados
- Restaurar dados
Caso você não tenha uma assinatura 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, confira Início Rápido para Bash no Azure Cloud Shell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Para execuções no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas no terminal. Para ver outras opções de entrada, confira Conectar-se com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar extensões com a CLI do Azure.
Execute az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para fazer a atualização para a versão mais recente, execute az upgrade.
- Este artigo exige a versão 2.0 ou posterior da CLI do Azure. Se você está usando o Azure Cloud Shell, a versão mais recente já está instalada.
Se tiver várias assinaturas, escolha a que for adequada na qual existe o recurso ou onde ele é cobrado. Selecione uma ID da assinatura específica em sua conta usando 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 contêiner lógico no qual os recursos do Azure são implantados e gerenciados em grupo.
O exemplo a seguir cria um grupo de recursos chamado myresourcegroup
na localização westus
.
az group create --name myresourcegroup --location westus
Criar um Banco de Dados do Azure para o servidor MySQL
Crie um Banco de Dados do Azure para servidor MySQL com o comando az mysql server create. Um servidor pode gerenciar vários bancos de dados. Normalmente, um banco de dados separado é usado para cada projeto ou para cada usuário.
O exemplo a seguir cria um servidor de Banco de Dados do Azure para MySQL localizado em westus
no grupo de recursos myresourcegroup
com o nome mydemoserver
. O servidor tem um usuário administrador chamado myadmin
. É um servidor de Geração 5 de Uso Geral com 2 vCores. Substitua o <server_admin_password>
com 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 {tipo de preço}_{geração da computação}_{vCores} como nestes exemplos:
--sku-name B_Gen5_2
mapeia para Básico, Gen 5 e 2 vCores.--sku-name GP_Gen5_32
mapeia para Uso Geral, Gen 5 e 32 vCores.--sku-name MO_Gen5_2
mapeia para Otimizado para Memória, Gen 5 e 2 vCores.
Veja a documentação das camadas de preços para entender os valores válidos por região e por camada.
Importante
O logon de administrador do servidor e a senha que você especificar aqui são necessários para fazer logon no servidor e em seus bancos de dados mais tarde neste Guia de início rápido. Lembre-se ou registre essas informações para o uso posterior.
Configurar regra de firewall
Crie uma regra de firewall no nível de servidor do Banco de Dados do Azure para servidor MySQL com o comando az mysql server firewall-rule create. Uma regra de firewall no nível de servidor permite que um aplicativo externo, como a ferramenta de linha de comando psql ou o MySQL Workbench, conecte-se ao servidor por meio do firewall do serviço Azure MySQL.
O exemplo a seguir cria uma regra de firewall chamada AllowMyIP
, que permite conexões de um endereço IP específico, 192.168.0.1. Substituir no endereço IP ou intervalo dos endereços IP que correspondem a onde você vai se conectar.
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 informações de conexão
Para se conectar ao servidor, é preciso fornecer credenciais de acesso e informações do host.
az mysql server show --resource-group myresourcegroup --name mydemoserver
O resultado está no formato JSON. Anote 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"
}
Conectar-se ao servidor usando mysql
Use a ferramenta de linha de comando do mysql para estabelecer uma conexão com o servidor do Banco de Dados do Azure para MySQL. Neste exemplo, o comando é:
mysql -h mydemoserver.mysql.database.azure.com -u myadmin@mydemoserver -p
Criar um banco de dados vazio
Quando você estiver conectado ao servidor, crie um banco de dados em branco.
mysql> CREATE DATABASE mysampledb;
No prompt, execute o seguinte comando para mudar a conexão para esse banco de dados recém-criado:
mysql> USE mysampledb;
Criar tabelas no banco de dados
Agora que você sabe como se conectar ao Banco de Dados do Azure para MySQL, conclua algumas tarefas básicas.
Primeiro, 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 nas tabelas
Agora que você tem uma tabela, insira alguns dados nela. Na janela do prompt de comando aberta, execute a consulta a seguir 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);
Agora, você tem duas linhas de dados de exemplo na tabela criada anteriormente.
Consultar e atualizar os dados nas tabelas
Execute a seguinte consulta para recuperar as informações da tabela do banco de dados.
SELECT * FROM inventory;
Também é possível atualizar os dados nas tabelas.
UPDATE inventory SET quantity = 200 WHERE name = 'banana';
A linha é atualizada à medida que você recupera os dados.
SELECT * FROM inventory;
Restaurar um banco de dados em um ponto anterior no tempo
Imagine que você excluiu acidentalmente essa tabela. Isso é algo que você não pode se recuperar facilmente. O Banco de Dados do Azure para MySQL permite que você volte até qualquer ponto no tempo, até os últimos 35 dias, e restaure esse ponto no tempo em um novo servidor. Use esse novo servidor para recuperar seus dados excluídos. As etapas a seguir restauram o servidor de exemplo para um ponto anterior à adição da tabela.
Para a restauração, você precisa das seguintes informações:
- Ponto de restauração: selecione um ponto no tempo anterior à alteração do servidor. Deve ser maior ou igual ao valor de backup mais antigo do banco de dados de origem.
- Servidor de destino: forneça um novo nome de servidor no qual você deseja restaurar
- Servidor de origem: forneça o nome do servidor do qual você quer fazer a restauração
- Local: não é possível selecionar a região; por padrão, ela é 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:
Configuração | Valor sugerido | Descrição |
---|---|---|
resource-group | myresourcegroup | O grupo de recursos no qual o servidor de origem existe. |
name | mydemoserver-restored | O nome do novo servidor que é criado pelo comando de restauração. |
restore-point-in-time | 2017-04-13T13:59:00Z | Selecione um point-in-time para restaurar. Essa data e hora devem estar dentro do período de retenção de backup do servidor de origem. Use o formato ISO8601 de data e hora. Por exemplo, você pode usar seu próprio fuso horário local, como 2017-04-13T05:59:00-08:00 , ou usar o formato UTC Zulu 2017-04-13T13:59:00Z . |
source-server | mydemoserver | O nome ou ID para restaurar a partir do servidor de origem. |
Restaurar um servidor para um ponto no tempo cria um novo servidor, copiado como o servidor original do ponto no tempo que você especificar. O local e os valores de tipo de preço para o servidor restaurado são o mesmo que o servidor de origem.
O comando é síncrono e retornará depois que o servidor for restaurado. Depois que a restauração é concluída, localize o novo servidor que foi criado. Verifique se os dados foram restaurados conforme o esperado.
Limpar os recursos
Se não precisar desses recursos para outro início rápido/tutorial, você poderá excluí-los ao fazer o seguinte comando:
az group delete --name myresourcegroup
Se você quiser simplesmente excluir o servidor recém-criado, poderá executar o comando az mysql server delete.
az mysql server delete --resource-group myresourcegroup --name mydemoserver
Próximas etapas
Neste tutorial, você aprendeu a:
- Criar um Banco de Dados do Azure para o servidor MySQL
- Configurar o firewall do servidor
- Usar a ferramenta de linha de comando do MySQL para criar um banco de dados
- Carregar dados de exemplo
- Consultar dados
- Atualizar dados
- Restaurar dados