Guia de 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 guia de 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.

Se você não tiver 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 Experimente o Banco de Dados do Azure para MySQL - Servidor flexível gratuitamente.

Abrir o Azure Cloud Shell

O Azure Cloud Shell é um shell interativo e gratuito que você pode usar para executar as etapas descritas neste artigo. No Cloud Shell, as ferramentas comuns do Azure são pré-instaladas e configuradas para serem usadas com sua conta.

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

Você também pode abrir o Cloud Shell em uma guia separada do navegador acessando .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.

Se você preferir instalar e usar a CLI do Azure, este início rápido requer a CLI do Azure versão 2.0 ou posterior. Para localizar a versão da instalação da CLI do Azure. , executar az --version. Se precisar de instalar ou atualizar, veja Instalar a CLI do Azure.

Pré-requisitos

Inicie sessão na sua conta utilizando o comando az login . Observe a id propriedade. A id propriedade refere-se à ID de assinatura da sua conta do Azure.

az login

Selecione a assinatura específica em sua conta do Azure usando o comando az account set . Anote o idaz login valor da saída para usar como o valor do subscription argumento no comando.

Se você tiver várias assinaturas, selecione a assinatura na qual deseja que o recurso seja cobrado. Para obter uma lista das suas subscrições, utilize a lista de contas az.

az account set --subscription <subscription ID>

Criar um Banco de Dados do Azure para o servidor flexível MySQL

Crie um grupo de recursos do Azure usando o az group create comando. Em seguida, crie seu Banco de Dados do Azure para servidor flexível MySQL dentro do grupo de recursos. Certifique-se de fornecer um nome exclusivo. O exemplo seguinte cria um grupo de recursos com o nome myresourcegroup na localização eastus2.

az group create --name myresourcegroup --location eastus2

Crie um Banco de Dados do Azure para servidor flexível MySQL usando o az mysql flexible-server create comando. Cada servidor pode conter várias bases de dados. O comando a seguir cria um servidor usando padrões de serviço e valores 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, nome de usuário de administrador, senha de administrador e nome de grupo de recursos (se ainda não estiver especificado em um contexto local) e está no mesmo local que seu grupo de recursos.
  • Os padrões de serviço para as configurações restantes do servidor: camada de computação (Burstable), tamanho do computador/SKU (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 (VNet Integration), com uma rede virtual e uma sub-rede geradas automaticamente.

Nota

O método de conectividade não pode ser alterado depois de criar o servidor. Por exemplo, se você selecionou Acesso privado (Integração VNet) quando criou 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 seu servidor com segurança usando a integração de rede virtual. Para obter mais informações sobre acesso privado, consulte o artigo sobre conceitos de rede.

Se você quiser alterar quaisquer padrões, consulte 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á o resultado 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 quaisquer padrões, consulte 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 uma base 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

Nota

As conexões com o Banco de Dados do Azure para MySQL - Servidor Flexível se comunicam usando a porta 3306. Se você tentar se conectar de dentro de uma rede corporativa, o tráfego de saída pela porta 3306 pode não ser permitido. Você não pode se conectar ao servidor a menos que o departamento de TI abra a porta 3306.

Obter as informações da ligação

Para se conectar ao servidor, você precisa fornecer informações de host e credenciais de acesso:

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

O resultado está no formato JSON. Anote os valores de fullyQualifiedDomainName e administratorLogin. Aqui está 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 seu servidor flexível usando o az mysql flexible-server connect comando na CLI do Azure. Você pode usar esse comando para testar a conectividade com seu servidor de banco de dados, criar um banco de dados básico rápido e executar consultas diretamente em seu 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 ao mesmo tempo.

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

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

Eis 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 aparece:

Connecting to newdatabase database.
Successfully connected to mysqldemoserver1.

Se a conexão falhar, tente estas soluções:

  • Verifique se a porta 3306 está aberta na máquina cliente.
  • Verifique se o nome de usuário e a senha do administrador do servidor estão corretos.
  • Verifique se você configurou uma regra de firewall para sua máquina cliente.
  • Certifique-se de que a máquina cliente está na mesma rede virtual que o servidor se você configurou o servidor para acesso privado em uma rede virtual.

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

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

Eis 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 o az mysql flexible-server connect, consulte Conexão e consulta da CLI do Azure.

Conecte-se usando o cliente de linha de comando MySQL

Se você criou seu banco de dados do Azure para servidor flexível MySQL usando acesso privado com integração de rede virtual, conecte-se ao seu servidor a partir de um recurso que está na mesma rede virtual que seu servidor. Você pode criar uma máquina virtual e adicioná-la à rede virtual que foi criada quando você criou seu Banco de Dados do Azure para MySQL - instância do Servidor Flexível. Para saber mais, consulte Configurar acesso privado.

Se você criou seu Banco de Dados do Azure para MySQL - instância do Servidor Flexível usando acesso público (endereços IP permitidos), poderá adicionar seu endereço IP local à lista de regras de firewall em seu servidor. Para obter orientações detalhadas, consulte Criar ou gerenciar regras de firewall.

Para se conectar ao servidor a partir do seu ambiente local, você pode usar o mysql.exe ou o MySQL Workbench. O Banco de Dados do Azure para MySQL - Servidor Flexível dá suporte à conexão de seus aplicativos cliente ao serviço Banco de Dados do Azure para MySQL - Servidor Flexível usando TLS (Transport Layer Security), anteriormente conhecido como SSL (Secure Sockets Layer). 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, para que você possa cumprir os requisitos de conformidade. Para se conectar usando seu banco de dados do Azure para servidor flexível MySQL, 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 SSL, consulte 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 seu banco de dados do Azure para servidor flexível MySQL usando a ferramenta de cliente de linha de comando MySQL. Você pode instalar a ferramenta se ela ainda não estiver instalada. Baixe o certificado DigiCertGlobalRootCA necessário para conexões SSL. Use a configuração da cadeia de conexão para impor a --ssl-mode=REQUIRED verificação do certificado TLS/SSL. Passe o caminho do arquivo de certificado local para o --ssl-ca parâmetro. Substitua os valores pelo nome e senha reais do servidor.

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 seu Banco de Dados do Azure para servidor flexível MySQL usando acesso público, também poderá usar o Azure Cloud Shell para se conectar ao seu Banco de Dados do Azure para servidor flexível MySQL usando o cliente MySQL pré-instalado.

Para usar o Azure Cloud Shell para se conectar ao seu servidor flexível do Banco de Dados do Azure para MySQL, permita o acesso à rede do Azure Cloud Shell ao seu servidor flexível do Banco de Dados do Azure para MySQL. Para permitir o acesso, vá para o painel Rede do portal do Azure para seu servidor flexível do Banco de Dados do Azure para MySQL. Em Firewall, marque a caixa de seleção Permitir acesso público de qualquer serviço do Azure no Azure a este servidor , conforme mostrado na captura de tela a seguir. Em seguida, selecione Salvar para manter 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.

Nota

Selecione Permitir acesso público de qualquer serviço do Azure no Azure a este servidor apenas para desenvolvimento ou teste. Essa configuração configura o firewall para permitir conexões de endereços IP alocados a qualquer serviço ou ativo do Azure, incluindo 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 seu banco de dados do Azure para servidor flexível MySQL. Use o nome do servidor, nome de usuário e 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

Quando você se conectar ao seu banco de dados do Azure para servidor flexível MySQL usando o Cloud Shell, use o --ssl=true parâmetro. Não utilize --ssl-mode=REQUIRED.

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

Se você vir a seguinte mensagem de erro quando se conectar ao seu servidor flexível do Banco de Dados do Azure para MySQL, não marcou a caixa de seleção Permitir acesso público de qualquer serviço do Azure no Azure para este servidor quando configurou suas 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)

Clean up resources (Limpar recursos)

Se você não precisar usar os recursos criados 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 pretender eliminar apenas o servidor flexível que criou, execute este comando:

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