Migrar Banco de Dados MySQL local para o Azure

Concluído

Depois que uma empresa toma a decisão de mudar 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 os próprios dados.

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

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

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.

Imagem mostrando o item do Banco de Dados do Azure para MySQL no Azure Marketplace

Insira os detalhes do serviço. Estão incluídos:

  • Nome do Servidor. Deve ser um nome exclusivo contendo entre 3 e 63 caracteres, com apenas letras minúsculas, números e hifens.
  • Fonte de Dados. Se estiver criando um novo servidor para fins de migração, selecione Nenhum. A opção Backup permite restaurar um backup obtido de outra instância do Banco de Dados do Azure para MySQL para esse serviço.
  • Nome de usuário administrador. É o nome de uma conta de usuário que será criada com privilégios administrativos. O Azure cria algumas contas para o próprio uso, e outros nomes são restritos; Você não pode usar azure_superuser, admin, administrador, raiz, convidado nem público.
  • Senha. Deve ter entre 8 e 128 caracteres e conter uma mistura de letras maiúsculas e minúsculas, números e caracteres não alfanuméricos. No momento, 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 o tipo de preço e especificar os recursos de que precisa para o serviço. As opções foram abordadas na lição 1. Lembre-se de que, se selecionar os tipos de preço Uso geral ou Otimizado para memória, você escala e reduz verticalmente a quantidade de núcleos de processador virtual mais tarde. No entanto, não é possível reduzir a quantidade de armazenamento; Ela só pode aumentar depois que o servidor tiver sido criado.

Captura de tela mostrando uma configuração de amostra para o Banco de Dados do Azure para MySQL no portal do Azure.

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

Depois que o serviço tiver sido implantado, selecione a opção Segurança de 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 uma instância de Banco de Dados do Azure para MySQL usando a CLI do Azure

Crie uma instância do Banco de Dados do Azure para MySQL usando o comando az mysql server create. A instrução a seguir mostra um exemplo que cria uma instância do MySQL. A maioria dos parâmetros é autoexplicativa, exceto o seguinte:

  • sku-name. Construído a partir de uma combinação do tipo de preço (B para Básico, GP para Uso geral e MO para Otimizado para memória), da geração de computação (Gen4 ou Gen5) e da quantidade de núcleos de CPU virtual. No exemplo a seguir, o servidor é criado usando o tipo de preço Uso Geral, com quatro núcleos de CPU da geração Gen5.
  • storage-size. É a quantidade de armazenamento em disco necessária, especificada em megabytes. O exemplo a seguir 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 ponto específico no tempo e copia esses dados para o banco de dado de destino. Nenhuma alteração feita nos dados de origem após o instantâneo ter sido realizado será refletida no banco de dado 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:

Importação e exportaçã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 diversos cenários:

  • Quando desejar selecionar quais tabelas devem ser importadas.
  • Quando desejar selecionar quais objetos de banco de dados devem ser exportados e importados, incluindo exibições, procedimentos armazenados, restrições e funções.
  • Quando também desejar 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 executar uma exportação e uma importação usando o MySQL Workbench. No menu Servidor, selecione Exportação de dados ou Importação de dados.

Observação

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

Confira mais informações em Migrar o banco de dados MySQL usando importação e exportação.

Despejar e restaurar

Use despejar e restaurar quando quiser mover com eficiência todo o banco de dados.

Há várias considerações ao usar despejar e restaurar:

  • Impedir que gatilhos sejam acionados durante a restauração usando a opção exclude-triggers.
  • Despejar todo o banco de dados em uma única transação com a opção single-transaction.
  • Desabilitar o acionamento de restrições de chaves estrangeiras durante o processo com a opção disable-keys.
  • Adiar a criação de índice até a conclusão da restauração com a opção defer-table-indexes.

Confira mais informações sobre mysqldump em mysqldump – um programa de backup de banco de dados.

Observação

O mysqldump também é usado para exportar tabelas específicas listando os nomes delas após o nome do banco de dados.

DMS (Serviço de Migração de Banco de Dados) do Azure

Além das migrações offline para o Banco de Dados do Azure para MySQL, o DMS dá suporte para migrações entre regiões, grupos de recursos e assinaturas diferentes, permitindo que você selecione uma região, grupo de recursos e assinatura para o servidor de destino que é diferente do especificado para o seu servidor de origem.

Migrar usando o despejo e a 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. Isso é feito 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 dado de destino com o comando mysql:

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

Executar migração online

O DMS também dá suporte à migração online para o Banco de Dados do Azure para MySQL. Para a migração online, recomendamos que você selecione a computação de 16 vCores de Uso Geral para o servidor flexível de destino para obter migrações mais rápidas. Redimensione para o tamanho de computação desejado para o servidor de destino após a conclusão da migração, com base nos detalhes na tabela a seguir.

Tipo de preço do servidor único VCores do servidor único Tamanho da computação do servidor flexível Camada de computação do servidor flexível
Basic 1 Com capacidade de intermitência Standard_B1s
Basic 2 Com capacidade de intermitência Standard_B2s
Uso Geral 4 Uso Geral Standard_D4ds_v4
Uso Geral 8 Uso Geral Standard_D8ds_v4

Para saber mais sobre a migração online para o Banco de Dados do Azure para MySQL, consulte Tutorial: Migrar o Banco de Dados do Azure para MySQL - Servidor Único para Servidor Flexível online usando o DMS por meio do portal do Microsoft Azure.