Compartilhar via


Início Rápido: criar uma instância do Banco de Dados do Azure para MySQL – Servidor Flexível usando a CLI do Azure

Este início rápido mostra como usar os comandos da CLI do Azure no Azure Cloud Shell para criar uma instância do Banco de Dados do Azure para MySQL – Servidor Flexível em cinco minutos.

Caso você não tenha uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar. Atualmente, com uma conta gratuita do Azure, você pode experimentar o Banco de Dados do Azure para MySQL com Servidor Flexível gratuitamente por 12 meses. Para mais informações, consulte Usar uma conta gratuita do Azure para experimentar o Banco de Dados do Azure para MySQL – Servidor Flexível gratuito.

Abrir o Azure Cloud Shell

O Azure Cloud Shell é um shell gratuito e interativo que poderá ser usado para executar as etapas descritas neste artigo. No Cloud Shell, as ferramentas comuns do Azure estão pré-instaladas e configuradas para uso com sua conta.

Para abrir o Cloud Shell, no canto superior direito de um exemplo de código, selecione Experimente.

Você também pode abrir o Cloud Shell em uma guia separada do navegador indo até https://shell.azure.com/bash. Selecione Copiar para copiar o conteúdo de um bloco de código. No Cloud Shell, cole o código e selecione Enter para executá-lo.

Caso prefira instalar e usar a CLI do Azure, este início rápido exigirá a CLI do Azure versão 2.0 ou posterior. Para localizar a versão da instalação da CLI do Azure. , execute az --version. Se você precisar instalar ou atualizar, confira Instalar a CLI do Azure.

Pré-requisitos

Entre na sua conta usando o comando az login. Observe a propriedade id. A propriedade id se refere à ID da assinatura da conta do Azure.

az login

Selecione a ID da assinatura específica na sua conta Azure usando o comando az account set. Anote o valor id obtido na saída az login.

Caso você tenha várias assinaturas, selecione a assinatura na qual deseja receber a cobrança do recurso. Para obter uma lista das suas assinaturas, use az account list.

az account set --subscription <subscription ID>

Criar um Servidor Flexível do Banco de Dados do Azure para MySQL

Crie um grupo de recursos do Azure usando o comando az group create. Crie o Servidor Flexível do Banco de Dados do Azure para MySQL dentro do grupo de recursos. Forneça um nome exclusivo. O exemplo a seguir cria um grupo de recursos chamado myresourcegroup na localização eastus2.

az group create --name myresourcegroup --location eastus2

Crie um Servidor Flexível do Banco de Dados do Azure para MySQL usando o comando az mysql flexible-server create. Um servidor pode conter vários bancos de dados. O seguinte comando criará um servidor usando valores e padrões de serviço do contexto local da CLI do Azure:

az mysql flexible-server create

O servidor criado tem os seguintes atributos:

  • Um nome de servidor gerado automaticamente, um nome de usuário administrador, uma senha de administrador e um nome de grupo de recursos.
  • Padrões de serviço para configurações de servidor restantes: nível de computação (com capacidade de intermitência), tamanho/SKU da computação (B1MS), período de retenção de backup (sete dias) e versão do MySQL (5.7).
  • O método de conectividade padrão é o acesso privado (integração de rede virtual), com uma rede virtual e sub-rede geradas automaticamente.

Observação

Não é possível alterar o método de conectividade após a criação do servidor. Por exemplo, se você selecionou acesso privado (integração de rede virtual) ao criar o servidor, não poderá alterar a configuração para acesso público (endereços IP permitidos) após a implantação. É altamente recomendável que você crie um servidor que tenha acesso privado para acessar com segurança seu servidor usando a integração de rede virtual. Para obter mais informações sobre acesso privado, confira Conceitos de rede.

Se você quiser alterar os padrões, confira a documentação de referência da CLI do Azure para obter a lista completa de parâmetros configuráveis da CLI do Azure.

Aqui está a saída de exemplo:

Creating Resource Group 'groupXXXXXXXXXX'...
Creating new vnet "serverXXXXXXXXXVNET" in resource group "groupXXXXXXXXXX"...
Creating new subnet "serverXXXXXXXXXSubnet" in resource group "groupXXXXXXXXXX" and delegating it to "Microsoft.DBforMySQL/flexibleServers"...
Creating MySQL Server 'serverXXXXXXXXX' in group 'groupXXXXXXXXXX'...
Your server 'serverXXXXXXXXX' is using SKU 'Standard_B1ms' (Paid Tier). For pricing details, see https://aka.ms/mysql-pricing.
Creating MySQL database 'flexibleserverdb'...
Make a note of your password. If you forget your password, reset the password by running 'az mysql flexible-server update -n serverXXXXXXXXX -g groupXXXXXXXXXX -p <new-password>'.
{
  "connectionString": "server=<server-name>.mysql.database.azure.com;database=flexibleserverdb;uid=secureusername;pwd=<password>",
  "databaseName": "flexibleserverdb",
  "host": "serverXXXXXXXXX.mysql.database.azure.com",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/groupXXXXXXXXXX/providers/Microsoft.DBforMySQL/flexibleServers/serverXXXXXXXXX",
  "location": "East US 2",
  "password": "<password>",
  "resourceGroup": "groupXXXXXXXXXX",
  "skuname": "Standard_B1ms",
  "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/groupXXXXXXXXXX/providers/Microsoft.Network/virtualNetworks/serverXXXXXXXXXVNET/subnets/serverXXXXXXXXXSubnet",
  "username": "secureusername",
  "version": "5.7"
}

Se você quiser alterar os padrões, confira a documentação de referência da CLI do Azure para obter a lista completa de parâmetros configuráveis da CLI do Azure.

Criar um banco de dados

Se você ainda não criou um banco de dados, crie um chamado newdatabase executando o seguinte comando:

az mysql flexible-server db create -d newdatabase

Observação

As conexões com o Banco de Dados do Azure para MySQL – Servidor Flexível se comunicam usando a porta 3306. Se estiver tentando se conectar em uma rede corporativa, talvez o tráfego de saída pela porta 3306 não seja permitido. Não é possível se conectar ao servidor, a menos que o departamento de TI abra a porta 3306.

Obter informações de conexão

Para se conectar ao servidor, é preciso fornecer credenciais de acesso e informações do host:

az mysql flexible-server show --resource-group myresourcegroup --name mydemoserver

O resultado está no formato JSON. Anote os valores de fullyQualifiedDomainName e administratorLogin. Este é um exemplo da saída JSON:

{
  "administratorLogin": "myadminusername",
  "administratorLoginPassword": null,
  "delegatedSubnetArguments": {
    "subnetArmResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Network/virtualNetworks/mydemoserverVNET/subnets/mydemoserverSubnet"
  },
  "fullyQualifiedDomainName": "mydemoserver.mysql.database.azure.com",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.DBforMySQL/flexibleServers/mydemoserver",
  "location": "East US 2",
  "name": "mydemoserver",
  "publicNetworkAccess": "Disabled",
  "resourceGroup": "myresourcegroup",
  "sku": {
    "capacity": 0,
    "name": "Standard_B1ms",
    "tier": "Burstable"
  },
  "storageProfile": {
    "backupRetentionDays": 7,
    "fileStorageSkuName": "Premium_LRS",
    "storageAutogrow": "Disabled",
    "storageIops": 0,
    "storageMb": 10240
  },
  "tags": null,
  "type": "Microsoft.DBforMySQL/flexibleServers",
  "version": "5.7"
}

Conectar e testar a conexão usando a CLI do Azure

Você pode usar o Banco de Dados do Azure para MySQL – Servidor Flexível para se conectar ao servidor flexível usando o comando az mysql flexible-server connect na CLI do Azure. Você pode usar esse comando para testar a conectividade com o servidor de banco de dados, criar um banco de dados básico rápido e executar consultas diretamente no servidor sem instalar o mysql.exe ou o MySQL Workbench. Você também pode usar o comando no modo interativo para executar várias consultas de cada vez.

Execute o script abaixo para testar e validar a conexão com o banco de dados do ambiente de desenvolvimento:

az mysql flexible-server connect -n <servername> -u <username> -p <password> -d <databasename>

Aqui está um exemplo:

az mysql flexible-server connect -n mysqldemoserver1 -u dbuser -p "dbpassword" -d newdatabase

Em uma conexão bem-sucedida, a saída como o exemplo a seguir será exibida:

Connecting to newdatabase database.
Successfully connected to mysqldemoserver1.

Caso haja falha na conexão, tente usar estas soluções:

  • Verifique se a porta 3306 está aberta no computador cliente.
  • Verifique se o nome de usuário e a senha do administrador do servidor estão corretos.
  • Verifique se você configurou a regra de firewall para o computador cliente.
  • Verifique se o computador cliente está na mesma rede virtual que o servidor, se você tiver configurado seu servidor para acesso privado em uma rede virtual.

Para executar uma única consulta, use o argumento--querytext (-q):

az mysql flexible-server connect -n <server-name> -u <username> -p "<password>" -d <database-name> --querytext "<query text>"

Aqui está um exemplo:

az mysql flexible-server connect -n mysqldemoserver1 -u dbuser -p "dbpassword" -d newdatabase -q "select * from table1;" --output table

Para saber mais sobre como usar az mysql flexible-server connect, consulte Início Rápido: Conectar-se ao Banco de Dados do Azure para MySQL – Servidor Flexível usando a CLI do Azure.

Conectar-se usando o cliente de linha de comando MySQL

Se você criou o Servidor Flexível do Banco de Dados do Azure para MySQL usando o acesso privado com integração de rede virtual, conecte-se ao servidor em um recurso que esteja na mesma rede virtual que o servidor. Você pode criar uma máquina virtual e adicioná-la à rede virtual criada quando você criou sua instância do Banco de Dados do Azure para MySQL – Servidor Flexível. Para saber mais, consulte Criar e gerenciar redes virtuais do Banco de Dados do Azure para MySQL - Servidor Flexível usando o portal do Azure para obter mais informações.

Se você criou a instância do Banco de Dados do Azure para MySQL – Servidor Flexível usando acesso público (endereços IP permitidos), é possível adicionar o endereço IP local à lista de regras de firewall no servidor. Para obter orientações detalhadas, consulte Gerenciar regras de firewall para o Banco de Dados do Azure para MySQL - Servidor Flexível usando o portal do Azure.

Para se conectar ao servidor do ambiente local, você pode usar mysql.exe ou Usar o MySQL Workbench com o Banco de Dados do Azure para MySQL - Servidor Flexível. O Banco de Dados do Azure para MySQL – Servidor Flexível dá suporte à conexão dos aplicativos cliente com o serviço do Banco de Dados do Azure para MySQL – Servidor Flexível usando o protocolo TLS, anteriormente conhecido como protocolo SSL. O TLS é um protocolo padrão do setor que garante conexões de rede criptografadas entre o servidor de banco de dados e os aplicativos cliente, portanto, você pode atender aos requisitos de conformidade. Para se conectar usando o Servidor Flexível do Banco de Dados do Azure para MySQL, baixe o certificado SSL público para verificação da autoridade de certificação. Para saber mais sobre como se conectar utilizando conexões criptografadas ou desabilitar o SSL, consulte Conectar-se ao Banco de Dados do Azure para MySQL - Servidor Flexível com conexões criptografadas.

O exemplo a seguir mostra como se conectar ao Servidor Flexível do Banco de Dados do Azure para MySQL usando a ferramenta do cliente de linha de comando do MySQL.

  • Baixe o certificado DigiCertGlobalRootG2.
  • Use a configuração de cadeia de conexão --ssl-mode=REQUIRED para impor a verificação de certificado TLS.
  • Passe o caminho do arquivo de certificado local para o parâmetro --ssl-ca.
  • Substitua os valores por um nome do servidor e uma senha que sejam reais.
sudo apt-get install mysql-client
wget --no-check-certificate https://dl.cacerts.digicert.com/DigiCertGlobalRootG2.crt.pem
mysql -h mydemoserver.mysql.database.azure.com -u mydemouser -p --ssl-mode=REQUIRED --ssl-ca=DigiCertGlobalRootG2.crt.pem

Se você provisionou seu servidor com acesso público, poderá usar o Azure Cloud Shell.

Para usar o Azure Cloud Shell para se conectar ao Servidor Flexível do Banco de Dados do Azure para MySQL, permita o acesso de rede no Azure Cloud Shell para o Banco de Dados do Azure para MySQL - Servidor Flexível. Para permitir o acesso, acesse o painel no portal do Azure Rede para o Servidor Flexível do Banco de Dados do Azure para MySQL. Em Firewall, selecione a caixa de seleção Permitir acesso público em qualquer serviço do Azure no Azure para este servidor, conforme mostrado na captura de tela a seguir. Selecione Salvar para persistir a configuração.

Captura de tela que mostra como conceder acesso ao Azure Cloud Shell a um Servidor Flexível do Banco de Dados do Azure para MySQL.

Observação

Selecione Permitir acesso público em qualquer serviço do Azure no Azure para este servidor somente para desenvolvimento ou teste. Essa configuração define o firewall para permitir conexões de endereços IP alocados para qualquer serviço ou ativo do Azure, inclusive conexões de outras assinaturas do Azure.

Selecione Experimentar para abrir o Azure Cloud Shell. No Cloud Shell, use os comandos a seguir para se conectar ao Servidor Flexível do Banco de Dados do Azure para MySQL. Use o nome do servidor, o nome de usuário e a senha no comando.

wget --no-check-certificate https://dl.cacerts.digicert.com/DigiCertGlobalRootG2.crt.pem
mysql -h mydemoserver.mysql.database.azure.com -u mydemouser -p --ssl=true --ssl-ca=DigiCertGlobalRootG2.crt.pem

Importante

Ao se conectar ao Banco de Dados do Azure para MySQL - Servidor Flexível usando o Cloud Shell, use o parâmetro --ssl=true. Não use --ssl-mode=REQUIRED.

O principal motivo pelo qual essa orientação é importante é que o Azure Cloud Shell é pré-instalado com o cliente mysql.exe na distribuição MariaDB. O cliente mysql.exe exige o parâmetro --ssl. O cliente MySQL da distribuição Oracle exige o parâmetro --ssl-mode.

Se você vir a seguinte mensagem de erro ao se conectar ao seu Servidor Flexível do Banco de Dados do Azure para MySQL, significa que você não selecionou a caixa de seleção Permitir acesso público de qualquer serviço do Azure a este servidor ao configurar suas regras de firewall, ou que a opção não foi salva. Defina as regras de firewall e tente novamente.

ERROR 2002 (HY000): Can't connect to MySQL server on <servername> (115)

Limpar os recursos

Se você não precisar usar os recursos que criou para este artigo em outro guia de início rápido ou tutorial, poderá excluí-los executando o seguinte comando:

az group delete --name myresourcegroup

Para excluir apenas o servidor flexível:

az mysql flexible-server delete --resource-group myresourcegroup --name mydemoserver