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

APLICA-SE A: Banco de Dados do Azure para MySQL - Servidor flexível

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 - Servidor Flexível gratuitamente por 12 meses. Para obter mais informações, consulte Experimentar o Banco de Dados do Azure para MySQL - Servidor Flexível gratuitamente.

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 da saída az login a ser usado como o valor para o argumento subscription no comando.

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 Banco de Dados do Azure para MySQL – Servidor Flexível 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 Banco de Dados do Azure para MySQL – Servidor Flexível 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 do servidor gerado automaticamente, nome de usuário do administrador, senha de administrador e nome do grupo de recursos (caso ainda não tenha sido especificado em um contexto local). Além disso, o servidor e o grupo de recursos estarão na mesma localização.
  • 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 será o Acesso privado (Integração VNet) com rede e sub-rede virtuais 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 VNet) ao criar o servidor, não será possível 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=serverXXXXXXXXX.mysql.database.azure.com;database=flexibleserverdb;uid=secureusername;pwd=securepasswordstring",
  "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": "securepasswordstring",
  "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>

Veja 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>"

Veja 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, confira Conectar-se e consultar a CLI do Azure.

Conectar-se usando o cliente de linha de comando MySQL

Se você criou o Banco de Dados do Azure para MySQL – Servidor Flexível 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, confira Configurar acesso privado.

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 diretrizes detalhadas, confira Criar ou gerenciar regras de firewall.

Para se conectar ao servidor do ambiente local, você pode usar o mysql.exe ou o Workbench do MySQL. 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 Banco de Dados do Azure para MySQL – Servidor Flexível, baixe o certificado SSL público para verificação da autoridade de certificação. Para saber mais sobre como se conectar usando conexões criptografadas ou desabilitar o SSL, confira Conectar-se ao Banco de Dados do Azure para MySQL – Servidor Flexível usando conexões criptografadas.

O exemplo a seguir mostra como se conectar ao Banco de Dados do Azure para MySQL – Servidor Flexível usando a ferramenta do cliente de linha de comando do MySQL. É possível instalar a ferramenta, se ela ainda não estiver instalada. Baixe o certificado DigiCertGlobalRootCA exigido para conexões SSL. Use a configuração de cadeia de conexão --ssl-mode=REQUIRED para impor a verificação de certificado TLS/SSL. 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/DigiCertGlobalRootCA.crt.pem
mysql -h mydemoserver.mysql.database.azure.com -u mydemouser -p --ssl-mode=REQUIRED --ssl-ca=DigiCertGlobalRootCA.crt.pem

Se você provisionou o Banco de Dados do Azure para MySQL – Servidor Flexível usando acesso público, também poderá usar o Azure Cloud Shell para se conectar ao Banco de Dados do Azure para MySQL – Servidor Flexível usando o cliente MySQL pré-instalado.

Para usar o Azure Cloud Shell para se conectar ao Banco de Dados do Azure para MySQL – Servidor Flexível, 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 Rede no portal do Azure para o Banco de Dados do Azure para MySQL – Servidor Flexível. 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.

Screenshot that shows how to grant Azure Cloud Shell access to an Azure Database for MySQL flexible server for public access network configuration.

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 Banco de Dados do Azure para MySQL – Servidor Flexível. Use o nome do servidor, o nome de usuário e a senha no comando.

wget --no-check-certificate https://dl.cacerts.digicert.com/DigiCertGlobalRootCA.crt.pem
mysql -h mydemoserver.mysql.database.azure.com -u mydemouser -p --ssl=true --ssl-ca=DigiCertGlobalRootCA.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 Banco de Dados do Azure para MySQL – Servidor Flexível, você não selecionou a caixa de seleção Permitir acesso público em qualquer serviço do Azure no Azure para este servidor quando configurou as regras de firewall ou 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

Se você quiser excluir apenas o servidor flexível que criou, execute este comando:

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