Migrar banco de dados MySQL local para o Azure
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.
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.
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. 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.
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 a camada 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.
Azure Database Migration Service (DMS)
Além das migrações offline para o Banco de Dados do Azure para MySQL, o DMS dá suporte a migrações entre regiões, grupos de recursos e assinaturas cruzadas, para que você possa selecionar uma região, grupo de recursos e assinatura para o servidor de destino diferente do especificado para o servidor de origem.
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.
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.
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]
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
Realizar migração online
O DMS também oferece suporte à migração online para o Banco de Dados do Azure para MySQL. Para a migração online, recomendamos que você selecione Computação vCores de uso geral 16 para o servidor flexível de destino para migrações mais rápidas. Reduza para o tamanho de computação desejado para o servidor de destino após a conclusão da migração, com base nos detalhes da tabela a seguir.
Escalão de Preço do Servidor Único | VCores de Servidor Único | Tamanho da Computação do Servidor Flexível | Escalão de Computação do Servidor Flexível |
---|---|---|---|
Básica | 1 | Expansível | Standard_B1s |
Básica | 2 | Expansível | Standard_B2s |
Fins Gerais | 4 | Fins Gerais | Standard_D4ds_v4 |
Fins Gerais | 8 | Fins Gerais | 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 Azure.