Migrar banco de dados MySQL local para o Azure

Concluído

Depois que uma empresa toma a decisão de migrar para o Banco de Dados do Azure para MySQL, a próxima etapa é planejar como migrar bancos de dados locais e escolher as ferramentas para mover seus dados.

Depois de explorar como o Banco de Dados do Azure para MySQL dá suporte e dimensiona o MySQL no Azure, agora você deseja considerar como migrará seus bancos de dados locais existentes.

Nesta unidade, você verá como criar uma instância do serviço Banco de Dados do Azure para MySQL usando o portal do Azure. Se você precisar criar muitas instâncias desse serviço, poderá criar scripts para o processo usando a CLI do Azure.

Nota

A migração online para o MySQL não é suportada atualmente no Serviço de Migração de Dados do Azure (DMS).

Criar um Banco de Dados do Azure para MySQL usando o portal

No portal do Azure, selecione o comando Bancos de Dados no Azure Marketplace e selecione Banco de Dados do Azure para MySQL.

Image showing the Azure Database for MySQL item in the Azure Marketplace

Insira os detalhes do serviço. Estes são, entre outros:

  • Nome do servidor. Este deve ser um nome exclusivo entre 3 e 63 caracteres, contendo apenas letras minúsculas, números e hífenes.
  • Fonte de dados. Se você estiver criando um novo servidor para fins de migração, selecione Nenhum. A opção Backup permite restaurar um backup retirado de outra instância do Banco de Dados do Azure para MySQL neste serviço.
  • Nome de utilizador de administrador. Este é o nome de uma conta de usuário que será criada com privilégios administrativos. O Azure cria algumas contas para seu próprio uso e outros nomes são restritos; Não é possível usar azure_superuser, admin, administrator, root, guest ou public.
  • Palavra-passe. Isso deve ter entre 8 e 128 caracteres. Ele deve conter uma mistura de letras maiúsculas e minúsculas, números e caracteres não alfanuméricos. Atualmente, o Banco de Dados do Azure para MySQL dá suporte apenas à autenticação de senha; a integração com o Microsoft Entra ID ainda não está disponível.
  • Versão. Selecione a versão que corresponde ao banco de dados local que você está migrando.
  • Computação + armazenamento. Selecione Configurar servidor para definir a camada de preço e especificar os recursos necessários para o serviço. As opções foram abordadas na Lição 1. Lembre-se de que, se você selecionar os níveis de preços de uso geral ou otimizado para memória, aumentará e reduzirá o número de núcleos de processador virtual posteriormente. No entanto, não é possível reduzir a quantidade de armazenamento; ele só pode aumentar depois que o servidor tiver sido criado.

Screenshot showing a sample configuration for Azure Database for MySQL in the Azure portal.

Selecione Revisão + Criar para implantar o serviço. A implantação levará vários minutos.

Depois que o serviço for implantado, selecione a opção Segurança da conexão e adicione as regras de firewall apropriadas para permitir que os clientes se conectem, conforme descrito no tópico Conectividade do cliente na Lição 1. Você também deve selecionar a opção Permitir acesso aos serviços do Azure.

Criar um Banco de Dados do Azure para instância do MySQL usando a CLI do Azure

Você cria uma instância do Banco de Dados do Azure para MySQL usando o az mysql server create comando. A instrução abaixo mostra um exemplo que cria uma instância do MySQL. A maioria dos parâmetros são autoexplicativos, exceto os seguintes:

  • nome do sku. Você constrói isso a partir de uma combinação da camada de preços (B para Basic, GP para Uso Geral e MO para Memória Otimizada), a geração de computação (Gen4 ou Gen5) e o número de núcleos de CPU virtuais. No exemplo abaixo, o servidor é criado usando o nível de preço de uso geral, com quatro núcleos de CPU da geração Gen5.
  • tamanho do armazenamento. Esta é a quantidade de armazenamento em disco necessária, especificada em megabytes. O exemplo abaixo aloca 10 gigabytes.
az mysql server create \
  --name contoso-MySQL-server \
  --resource-group MySQLrg \
  --admin-user contosoadmin \
  --admin-password 7Hh7*ku5k$$£jhk \
  --sku-name GP_Gen5_4 \
  --storage-size 10240

Executar migração offline

Uma migração offline tira um instantâneo do banco de dados de origem em um determinado momento e copia esses dados para o banco de dados de destino. Quaisquer alterações feitas nos dados de origem após a captura instantânea não serão refletidas no banco de dados de destino.

Você tem pelo menos duas opções se quiser executar uma migração offline para o Banco de Dados do Azure para MySQL:

Exportação e importação

Você pode exportar um banco de dados do MySQL e importá-lo para o Banco de Dados do Azure para MySQL usando ferramentas como o MySQL Workbench. Isso é útil em vários cenários:

  • Você deseja selecionar quais tabelas importar.
  • Você deseja selecionar quais objetos de banco de dados exportar e importar, incluindo exibições, procedimentos armazenados, restrições e funções.
  • Você também deseja migrar dados de outras fontes. Por exemplo, você precisa adicionar dados de arquivos de texto e usar mysqlimport para adicioná-los como tabelas ao seu banco de dados.

Você pode realizar uma exportação e importação usando o MySQL Workbench. No menu Servidor, selecione Exportação de Dados ou Importação de Dados.

Nota

Você também pode usar mysqldump para exportar tabelas específicas, listando seus nomes após o nome do banco de dados.

Para obter mais informações, consulte Migrar seu banco de dados MySQL usando importação e exportação.

Despejar e restaurar

Use despejo e restauração quando quiser mover com eficiência todo o banco de dados.

Há várias considerações ao usar o dump e a restauração:

  • Impeça o disparo de gatilhos durante a restauração usando a opção exclude-triggers .
  • Despeje todo o banco de dados em uma única transação com a opção de transação única.
  • Desative as restrições de chave estrangeira disparando durante o processo com a opção de chaves de desativação.
  • Adie a criação do índice até que a restauração seja concluída com a opção defer-table-indexes .

Para obter mais informações sobre mysqldump, consulte mysqldump — A Database Backup Program.

Nota

Você também usa mysqldump para exportar tabelas específicas, listando seus nomes após o nome do banco de dados.

Nota

Atualmente, não é possível usar o Serviço de Migração de Banco de Dados do Azure para executar uma migração offline de um banco de dados MySQL.

Migrar usando dump e restauração

Execute as etapas a seguir para migrar um banco de dados usando a abordagem de despejo e restauração.

  1. Exporte os dados para outro arquivo com o comando mysqldump:

    mysqldump -h [host name] -u [username] -p[password] [database name] > db_data.sql
    

    Neste ponto, db_data.sql é um script SQL que você modifica usando um editor de texto.

  2. Crie o banco de dados de destino no Banco de Dados do Azure para MySQL. Faça isso com a CLI do Azure:

    az mysql db create \
        --name [database name] \
        --server-name [server name] \
        --resource-group [azure resource group]
    
  3. Importe os dados para o banco de dados de destino com o comando mysql:

    mysql -h [host name] -u [username] -p[password] [database name] < db_data.sql