Guia de início rápido: criar um banco de dados do Azure para o servidor MySQL usando o PowerShell

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?

Este guia de início rápido descreve como usar o PowerShell para criar um Banco de Dados do Azure para o servidor MySQL em um grupo de recursos do Azure. Você pode usar o PowerShell para criar e gerenciar recursos do Azure interativamente ou em scripts.

Pré-requisitos

Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.

Se você optar por usar o PowerShell localmente, este artigo exigirá que você instale o módulo Az PowerShell e se conecte à sua conta do Azure usando o cmdlet Connect-AzAccount . Para obter mais informações sobre como instalar o módulo Az PowerShell, consulte Instalar o Azure PowerShell.

Importante

Enquanto o módulo Az.MySql PowerShell estiver em visualização, você deve instalá-lo separadamente do módulo Az PowerShell usando o seguinte comando: Install-Module -Name Az.MySql -AllowPrerelease. Assim que o módulo Az.MySql PowerShell estiver disponível em geral, ele se tornará parte de futuras versões do módulo Az PowerShell e estará disponível nativamente no Azure Cloud Shell.

Se esta for sua primeira vez usando o serviço Banco de Dados do Azure para MySQL, você deverá registrar o provedor de recursos Microsoft.DBforMySQL.

Register-AzResourceProvider -ProviderNamespace Microsoft.DBforMySQL

Azure Cloud Shell

O Azure aloja o Azure Cloud Shell, um ambiente de shell interativo que pode utilizar através do seu browser. Pode utilizar o Bash ou o PowerShell com o Cloud Shell para trabalhar com os serviços do Azure. Você pode usar os comandos pré-instalados do Cloud Shell para executar o código neste artigo, sem precisar instalar nada em seu ambiente local.

Para iniciar o Azure Cloud Shell:

Opção Exemplo/Ligação
Selecione Experimentar no canto superior direito de um código ou bloco de comandos. Selecionar Experimentar não copia automaticamente o código ou comando para o Cloud Shell. Captura de tela que mostra um exemplo de Try It for Azure Cloud Shell.
Aceda a https://shell.azure.com ou selecione o botão Iniciar Cloud Shell para abrir o Cloud Shell no browser. Botão para iniciar o Azure Cloud Shell.
Selecione o botão Cloud Shell na barra de menus, na parte direita do portal do Azure. Captura de tela que mostra o botão Cloud Shell no portal do Azure

Para usar o Azure Cloud Shell:

  1. Inicie o Cloud Shell.

  2. Selecione o botão Copiar em um bloco de código (ou bloco de comando) para copiar o código ou comando.

  3. Cole o código ou comando na sessão do Cloud Shell selecionando Ctrl+Shift+V no Windows e Linux ou selecionando Cmd+Shift+V no macOS.

  4. Selecione Enter para executar o código ou comando.

Se você tiver várias assinaturas do Azure, escolha a assinatura apropriada na qual os recursos devem ser cobrados. Selecione uma ID de assinatura específica usando o cmdlet Set-AzContext .

Set-AzContext -SubscriptionId 00000000-0000-0000-0000-000000000000

Criar um grupo de recursos

Crie um grupo de recursos do Azure usando o cmdlet New-AzResourceGroup. Um grupo de recursos é um contentor lógico no qual os recursos do Azure são implementados e geridos como um grupo.

O exemplo a seguir cria um grupo de recursos chamado myresourcegroup na região Oeste dos EUA .

New-AzResourceGroup -Name myresourcegroup -Location westus

Criar uma Base de Dados do Azure para o servidor MySQL

Crie um Banco de Dados do Azure para o servidor MySQL com o New-AzMySqlServer cmdlet. Cada servidor pode gerir múltiplas bases de dados. Geralmente, é utilizada uma base de dados em separado para cada projeto ou para cada utilizador.

A tabela a seguir contém uma lista de parâmetros comumente usados e valores de exemplo para o New-AzMySqlServer cmdlet.

Definição Valor de exemplo Descrição
Name mydemoserver Escolha um nome globalmente exclusivo no Azure que identifique seu Banco de Dados do Azure para o servidor MySQL. O nome do servidor só pode conter letras, números e o caractere hífen (-). Todos os caracteres maiúsculos especificados são automaticamente convertidos em minúsculas durante o processo de criação. Tem de conter entre 3 e 63 carateres.
ResourceGroupName myresourcegroup Indique o nome do grupo de recursos do Azure.
Sku GP_Gen5_2 O nome do SKU. Segue a convenção de preços-tier_compute-generation_vCores em taquigrafia. Para obter mais informações sobre o parâmetro Sku, consulte as informações a seguir nesta tabela.
BackupRetentionDay 7 Quando tempo se deve reter uma cópia de segurança. A unidade é dias. O intervalo é de 7-35.
GeoRedundantBackup Ativado(a) Se as cópias de segurança georredundantes devem estar ativadas para este servidor ou não. Esse valor não pode ser habilitado para servidores na camada de preço básica e não pode ser alterado após a criação do servidor. Valores permitidos: Ativado, Desativado.
Location westus A região do Azure para o servidor.
Execução SslEnforcement Ativado(a) Se o SSL deve ser habilitado ou não para este servidor. Valores permitidos: Ativado, Desativado.
ArmazenamentoInMb 51200 A capacidade de armazenamento do servidor (a unidade é megabytes). Válido StorageInMb é um mínimo de 5120 MB e aumenta em incrementos de 1024 MB. Para obter mais informações sobre limites de tamanho de armazenamento, consulte Banco de Dados do Azure para camadas de preços do MySQL.
Versão 5.7 A versão principal do MySQL.
AdministratorUserName myadmin O nome de utilizador para o início de sessão do administrador. Não pode ser azure_superuser, admin, administrador, raiz, convidado nem público.
AdministratorLoginPassword <securestring> A senha do usuário administrador na forma de uma cadeia de caracteres segura. Tem de conter entre 8 e 128 carateres. A palavra-passe tem de conter carateres das três categorias seguintes: letras em maiúsculas do inglês, letras em minúsculas do inglês, números e carateres não alfanuméricos.

O valor do parâmetro Sku segue a convenção pricing-tier_compute-generation_vCores conforme mostrado nos exemplos a seguir.

  • -Sku B_Gen5_1 mapeia para Basic, Gen 5 e 1 vCore. Esta opção é o menor SKU disponível.
  • -Sku GP_Gen5_32 mapeia para Fins Gerais, Ger 5 e 32 vCores.
  • -Sku MO_Gen5_2 mapeia para Otimizada para Memória, Ger 5 e 2 vCores.

Para obter informações sobre valores de Sku válidos por região e por camadas, consulte Banco de Dados do Azure para camadas de preços do MySQL.

O exemplo a seguir cria um servidor MySQL na região Oeste dos EUA chamado mydemoserver no grupo de recursos myresourcegroup com um login de administrador de servidor myadmin. É um servidor Gen 5 no nível de preço de uso geral com 2 vCores e backups com redundância geográfica habilitados. Documente a senha usada na primeira linha do exemplo, pois esta é a senha para a conta de administrador do servidor MySQL.

Gorjeta

Um nome de servidor é mapeado para um nome DNS e tem de ser globalmente exclusivo no Azure.

$Password = Read-Host -Prompt 'Please enter your password' -AsSecureString
New-AzMySqlServer -Name mydemoserver -ResourceGroupName myresourcegroup -Sku GP_Gen5_2 -GeoRedundantBackup Enabled -Location westus -AdministratorUsername myadmin -AdministratorLoginPassword $Password

Considere o uso do nível de preço básico se a computação leve e a E/S forem adequadas para sua carga de trabalho.

Importante

Os servidores criados na camada de preço básica não podem ser posteriormente dimensionados para fins gerais ou otimizados para memória e não podem ser replicados geograficamente.

Configurar uma regra de firewall

Crie uma regra de firewall no nível de servidor do Banco de Dados do Azure para MySQL usando o New-AzMySqlFirewallRule cmdlet. Uma regra de firewall no nível de servidor permite que um aplicativo externo, como a ferramenta de linha de comando ou o mysql MySQL Workbench, se conecte ao seu servidor por meio do firewall do serviço Banco de Dados do Azure para 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. Substitua um endereço IP ou um intervalo de endereços IP que correspondam ao local a partir do qual você está se conectando.

New-AzMySqlFirewallRule -Name AllowMyIP -ResourceGroupName myresourcegroup -ServerName mydemoserver -StartIPAddress 192.168.0.1 -EndIPAddress 192.168.0.1

Nota

As ligações à base de dados do Azure para MySQL comunicam através da porta 3306. Se tentar ligar a partir de uma rede empresarial, o tráfego de saída através da porta 3306 poderá não ser permitido. Nesse cenário, você só pode se conectar ao servidor se o departamento de TI abrir a porta 3306.

Configurar as definições de SSL

Por predefinição, são aplicadas ligações SSL entre o servidor e as aplicações cliente. Esse padrão garante a segurança dos dados em movimento criptografando o fluxo de dados pela Internet. Para este início rápido, desative as ligações SSL no seu servidor. Para obter mais informações, veja Configure SSL connectivity in your application to securely connect to Azure Database for MySQL (Configurar a conectividade SSL na sua aplicação para ligar em segurança à Base de Dados do Azure para MySQL).

Aviso

A desativação de SSL não é recomendada para servidores de produção.

O exemplo a seguir desabilita o SSL em seu Banco de Dados do Azure para o servidor MySQL.

Update-AzMySqlServer -Name mydemoserver -ResourceGroupName myresourcegroup -SslEnforcement Disabled

Obter as informações da ligação

Para ligar ao seu servidor, terá de fornecer credenciais de acesso e informações de anfitrião. Use o exemplo a seguir para determinar as informações de conexão. Anote os valores de FullyQualifiedDomainName e AdministratorLogin.

Get-AzMySqlServer -Name mydemoserver -ResourceGroupName myresourcegroup |
  Select-Object -Property FullyQualifiedDomainName, AdministratorLogin
FullyQualifiedDomainName                    AdministratorLogin
------------------------                    ------------------
mydemoserver.mysql.database.azure.com       myadmin

Conecte-se ao servidor usando a ferramenta de linha de comando mysql

Conecte-se ao servidor usando a mysql ferramenta de linha de comando. Para baixar e instalar a ferramenta de linha de comando, consulte Downloads da comunidade MySQL. Você também pode acessar uma versão pré-instalada da mysql ferramenta de linha de comando no Azure Cloud Shell selecionando o botão Experimentar em um exemplo de código neste artigo. Outras maneiras de acessar o Azure Cloud Shell são selecionar o >botão _ na barra de ferramentas superior direita no portal do Azure ou visitando shell.azure.com.

  1. Conecte-se ao servidor usando a ferramenta de mysql linha de comando.

    mysql -h mydemoserver.mysql.database.azure.com -u myadmin@mydemoserver -p
    
  2. Exibir o status do servidor.

    mysql> status
    
    C:\Users\>mysql -h mydemoserver.mysql.database.azure.com -u myadmin@mydemoserver -p
    Enter password: *************
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 65512
    Server version: 5.6.42.0 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> status
    --------------
    mysql  Ver 14.14 Distrib 5.7.29, for Win64 (x86_64)
    
    Connection id:          65512
    Current database:
    Current user:           myadmin@myipaddress
    SSL:                    Not in use
    Using delimiter:        ;
    Server version:         5.6.42.0 MySQL Community Server (GPL)
    Protocol version:       10
    Connection:             mydemoserver.mysql.database.azure.com via TCP/IP
    Server characterset:    latin1
    Db     characterset:    latin1
    Client characterset:    utf8
    Conn.  characterset:    utf8
    TCP port:               3306
    Uptime:                 1 hour 2 min 12 sec
    
    Threads: 7  Questions: 952  Slow queries: 0  Opens: 66  Flush tables: 3  Open tables: 16  Queries per second avg: 0.255
    --------------
    
    mysql>
    

Para obter comandos adicionais, veja MySQL 5.7 Reference Manual - Chapter 4.5.1 (Manual de Referência do MySQL 5.7 - Capítulo 4.5.1).

Conecte-se ao servidor usando o MySQL Workbench

  1. Inicie a aplicação MySQL Workbench no computador cliente. Para baixar e instalar o MySQL Workbench, consulte Download do MySQL Workbench.

  2. Na caixa de diálogo Configurar Ligação Nova, introduza as informações seguintes no separador Parâmetros:

    Definição Valor Sugerido Descrição
    Nome da Ligação A Minha Ligação Especifique um rótulo para esta conexão
    Connection Method (Método de ligação) Standard (TCP/IP) Usar o protocolo TCP/IP para se conectar ao Banco de Dados do Azure para MySQL
    Hostname (Nome do anfitrião) mydemoserver.mysql.database.azure.com Nome do servidor que você anotou anteriormente
    Porta 3306 A porta padrão para o MySQL
    Username myadmin@mydemoserver O login de administrador do servidor que você anotou anteriormente
    Palavra-passe ************* Utilizar a palavra-passe da conta de administrador que configurou anteriormente
  3. Para testar se os parâmetros estão configurados corretamente, clique no botão Testar conexão .

  4. Selecione a conexão para se conectar ao servidor.

Clean up resources (Limpar recursos)

Se os recursos criados neste início rápido não forem necessários para outro início rápido ou tutorial, você poderá excluí-los executando o exemplo a seguir.

Atenção

O exemplo a seguir exclui o grupo de recursos especificado e todos os recursos contidos nele. Se existirem recursos fora do escopo deste início rápido no grupo de recursos especificado, eles também serão excluídos.

Remove-AzResourceGroup -Name myresourcegroup

Para excluir somente o servidor criado neste início rápido sem excluir o grupo de recursos, use o Remove-AzMySqlServer cmdlet.

Remove-AzMySqlServer -Name mydemoserver -ResourceGroupName myresourcegroup

Próximos passos