Migrar o Amazon RDS for MySQL para o Banco de Dados do Azure para MySQL usando o MySQL Workbench
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?
Você pode usar vários utilitários, como o MySQL Workbench Export/Import, o Azure Database Migration Service (DMS) e o despejo e restauração do MySQL, para migrar o Amazon RDS for MySQL para o Banco de Dados do Azure para MySQL. No entanto, usar o Assistente de migração do MySQL Workbench fornece uma maneira fácil e conveniente de mover seus bancos de dados do Amazon RDS for MySQL para o Banco de Dados do Azure para MySQL.
Com o Assistente de Migração, você pode selecionar convenientemente quais esquemas e objetos migrar. Ele também permite que você visualize os logs do servidor para identificar erros e gargalos em tempo real. Como resultado, você pode editar e modificar tabelas ou estruturas de banco de dados e objetos durante o processo de migração quando um erro é detetado e, em seguida, retomar a migração sem ter que reiniciar do zero.
Nota
Você também pode usar o Assistente de Migração para migrar outras fontes, como Microsoft SQL Server, Oracle, PostgreSQL, MariaDB, etc., que estão fora do escopo deste artigo.
Pré-requisitos
Antes de iniciar o processo de migração, é recomendável garantir que vários parâmetros e recursos estejam configurados e configurados corretamente, conforme descrito abaixo.
Verifique se o conjunto de caracteres dos bancos de dados de origem e de destino são os mesmos.
Defina o tempo limite de espera para um tempo razoável, dependendo da quantidade de dados ou da carga de trabalho que você deseja importar ou migrar.
Defina o
max_allowed_packet parameter
para uma quantidade razoável, dependendo do tamanho do banco de dados que você deseja importar ou migrar.Verifique se todas as suas tabelas usam InnoDB, pois o Banco de Dados do Azure para MySQL Server dá suporte apenas ao mecanismo de armazenamento InnoDB.
Remover, substituir ou modificar todos os gatilhos, procedimentos armazenados e outras funções que contenham definidores de usuário raiz ou superusuário (o Banco de Dados do Azure para MySQL não oferece suporte ao privilégio de Superusuário). Para substituir os definers pelo nome do usuário administrador que está executando o processo de importação, execute o seguinte comando:
DELIMITER; ;/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`127.0.0.1`*/ /*!50003 DELIMITER; /* Modified to */ DELIMITER; /*!50003 CREATE*//*!50017 DEFINER=`AdminUserName`@`ServerName`*/ /*!50003 DELIMITER;
Se UDFs (User Defined Functions) estiverem em execução no seu servidor de banco de dados, você precisará excluir o privilégio para o banco de dados mysql. Para determinar se alguma UDFs está em execução no servidor, use a seguinte consulta:
SELECT * FROM mysql.func;
Se você descobrir que UDFs estão em execução, você pode descartar os UDFs usando a seguinte consulta:
DROP FUNCTION your_UDFunction;
Certifique-se de que o servidor no qual a ferramenta está sendo executada e, finalmente, o local de exportação, tenha amplo espaço em disco e poder de computação (vCores, CPU e memória) para executar a operação de exportação, especialmente ao exportar um banco de dados muito grande.
Crie um caminho entre a instância local ou da AWS e o Banco de Dados do Azure para MySQL se a carga de trabalho estiver atrás de firewalls ou outras camadas de segurança de rede.
Iniciar o processo de migração
Para iniciar o processo de migração, entre no MySQL Workbench e selecione o ícone inicial.
Na barra de navegação à esquerda, selecione o ícone do Assistente de Migração.
A página Visão geral do Assistente de Migração é exibida.
Determine se você tem um driver ODBC para o MySQL Server instalado selecionando Abrir administrador ODBC.
Se um driver ODBC do MySQL não estiver instalado, use o MySQL Installer que você usou para instalar o MySQL Workbench para instalar o driver. Para obter mais informações sobre a instalação do driver ODBC do MySQL, consulte os seguintes recursos:
Feche a caixa de diálogo Administrador da Fonte de Dados ODBC e continue com o processo de migração.
Configurar parâmetros de conexão do servidor de banco de dados de origem
Na página Visão geral, selecione Iniciar migração.
A página Seleção de origem é exibida. Use esta página para fornecer informações sobre o RDBMS do qual você está migrando e os parâmetros para a conexão.
No campo Sistema de banco de dados, selecione MySQL.
No campo Conexão Armazenada, selecione uma das configurações de conexão salvas para esse RDBMS.
Você pode salvar conexões marcando a caixa de seleção na parte inferior da página e fornecendo um nome de sua preferência.
No campo Método de Conexão, selecione TCP/IP Padrão.
No campo Nome do host, especifique o nome do servidor de banco de dados de origem.
No campo Porta, especifique 3306 e digite o nome de usuário e a senha para se conectar ao servidor.
No campo Banco de dados, digite o nome do banco de dados que você deseja migrar se souber, caso contrário, deixe esse campo em branco.
Selecione Testar conexão para verificar a conexão com sua instância do MySQL Server.
Se você tiver inserido os parâmetros corretos, será exibida uma mensagem indicando uma tentativa de conexão bem-sucedida.
Selecione Seguinte.
Configurar parâmetros de conexão do servidor de banco de dados de destino
Na página Seleção de Destino , defina os parâmetros para se conectar à instância do MySQL Server de destino usando um processo semelhante ao da configuração da conexão com o servidor de origem.
Para verificar uma conexão bem-sucedida, selecione Testar conexão.
Selecione Seguinte.
Selecione os esquemas a serem migrados
O Assistente de Migração se comunicará com sua instância do MySQL Server e buscará uma lista de esquemas do servidor de origem.
Selecione Mostrar logs para exibir esta operação. A página Lista de Esquemas de Busca mostra como os esquemas estão sendo recuperados do servidor de banco de dados de origem.
Selecione Avançar para verificar se todos os esquemas foram obtidos com êxito. A página Seleção de esquemas mostra a lista de esquemas buscados. Você só pode migrar esquemas que aparecem nesta lista.
Selecione os esquemas que pretende migrar e, em seguida, selecione Seguinte.
Migração de objetos
Em seguida, especifique o(s) objeto(s) que deseja migrar.
Selecione Mostrar Seleção e, em Objetos Disponíveis, selecione e adicione os objetos que deseja migrar. Quando você adicionar os objetos, eles aparecerão em Objetos a serem migrados.
Selecione Seguinte.
Editar dados
Nesta seção, você tem a opção de editar os objetos que deseja migrar.
Na página Edição manual, há um menu suspenso Exibir no canto superior direito.
O menu suspenso Exibir inclui três itens:
- Todos os objetos – Exibe todos os objetos. Com essa opção, você pode editar manualmente o SQL gerado antes de aplicá-lo ao servidor de banco de dados de destino. Para fazer isso, selecione o objeto e selecione Mostrar código e mensagens. Você pode ver (e editar!) o código MySQL gerado que corresponde ao objeto selecionado.
- Problemas de migração – Exibe quaisquer problemas que ocorreram durante a migração, que você pode revisar e verificar.
- Mapeamento de coluna – Exibe informações de mapeamento de coluna. Você pode usar essa exibição para editar o nome e alterar a coluna do objeto de destino.
Selecione Seguinte.
Criar o banco de dados de destino
Marque a caixa de seleção Criar esquema no RDBMS de destino.
Você também pode optar por manter esquemas já existentes, para que eles não sejam modificados ou atualizados.
Você pode criar o esquema no RDBMS de destino, mas também pode marcar a caixa de seleção Criar um arquivo de script SQL para salvar o arquivo em seu computador local ou para outros fins.
Selecione Seguinte.
Execute o script MySQL para criar os objetos de banco de dados
Como optamos por criar o esquema no RDBMS de destino, o script SQL migrado será executado no servidor MySQL de destino.
Após a conclusão da criação dos esquemas e seus objetos, selecione Avançar.
Na página Criar Resultados de Destino, é apresentada uma lista dos objetos criados e uma notificação de quaisquer erros encontrados durante a sua criação.
Reveja os detalhes nesta página para verificar se tudo foi concluído como pretendido.
Para este artigo, não temos erros. Se não houver necessidade de endereçar mensagens de erro, você poderá editar o script de migração.
Na caixa Objeto, selecione o objeto que deseja editar.
Em Script SQL CREATE para o objeto selecionado, modifique o script SQL e selecione Aplicar para salvar as alterações.
Selecione Recriar objetos para executar o script, incluindo suas alterações.
Se o script falhar, talvez seja necessário editar o script gerado. Em seguida, você pode corrigir manualmente o script SQL e executar tudo novamente. Neste artigo, não estamos mudando nada, então vamos deixar o script como está.
Selecione Seguinte.
Transferir dados
Esta parte do processo move dados da instância de banco de dados MySQL Server de origem para sua instância de banco de dados MySQL de destino recém-criada. Use a página Configuração de transferência de dados para configurar esse processo.
Esta página fornece opções para configurar a transferência de dados. Para os fins deste artigo, aceitaremos os valores padrão.
Para iniciar o processo real de transferência de dados, selecione Avançar. Há uma barra de progresso para transferência de dados.
Nota
A duração do processo de transferência de dados está diretamente relacionada ao tamanho do banco de dados que você está migrando. Quanto maior o banco de dados de origem, mais tempo o processo levará, potencialmente até algumas horas para bancos de dados maiores.
Após a conclusão da transferência, selecione Avançar.
A página Relatório de migração é exibida, fornecendo um relatório resumindo todo o processo.
Selecione Concluir para fechar o Assistente de Migração.
A migração foi concluída com êxito.
Verificar a consistência dos esquemas e tabelas migrados
Em seguida, faça login em sua instância de banco de dados de destino MySQL para verificar se os esquemas e tabelas migrados são consistentes com seu banco de dados de origem MySQL.
No nosso caso, você pode ver que todos os esquemas (sakila, moda, itens, cliente, roupas, mundo e world_x) do banco de dados do Amazon RDS for MySQL: MyjolieDB foram migrados com êxito para o Banco de Dados do Azure para MySQL: instância azmysql .
Para verificar as contagens de tabelas e linhas, execute a seguinte consulta em ambas as instâncias:
SELECT COUNT (*) FROM sakila.actor;
A contagem de linhas esperada para o Amazon RDS MySQL é 200, que corresponde à instância do Banco de Dados do Azure para MySQL.
Embora você possa executar a consulta acima em cada esquema e tabela, isso será bastante trabalhoso se você estiver lidando com centenas de milhares ou até milhões de tabelas. Você pode usar as consultas abaixo para verificar o esquema (banco de dados) e o tamanho da tabela.
Para verificar o tamanho do banco de dados, execute a seguinte consulta:
SELECT table_schema AS "Database", ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)" FROM information_schema.TABLES GROUP BY table_schema;
Para verificar o tamanho da tabela, execute a seguinte consulta:
SELECT table_name AS "Table", ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)" FROM information_schema.TABLES WHERE table_schema = "database_name" ORDER BY (data_length + index_length) DESC;
O tamanho do esquema (banco de dados) da instância MySQL do Amazon RDS de origem deve ser o mesmo da instância de destino do Banco de Dados do Azure para MySQL.
Como os tamanhos do esquema (banco de dados) são os mesmos em ambas as instâncias, não é realmente necessário verificar os tamanhos de tabela individuais. Em qualquer caso, você sempre pode usar a consulta acima para verificar os tamanhos das tabelas, conforme necessário.
Agora você confirmou que sua migração foi concluída com êxito.
Próximos passos
- Para obter mais informações sobre como migrar bancos de dados para o Banco de Dados do Azure para MySQL, consulte o Guia de Migração de Banco de Dados.
- Veja o vídeo Migrar facilmente aplicações MySQL/PostgreSQL para o serviço gerido do Azure, que contém uma demonstração que mostra como migrar aplicações MySQL para a Base de Dados do Azure para MySQL.