Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Você pode usar o Serviço de Migração de Banco de Dados do Azure para executar uma migração perfeita da instância externa do MySQL para o Banco de Dados do Azure para MySQL com capacidade de migração de dados de alta velocidade. Neste tutorial, migraremos um banco de dados de exemplo de uma instância local do MySQL 5.7 para o Banco de Dados do Azure para MySQL (v5.7) usando uma atividade de migração offline no Serviço de Migração de Banco de Dados do Azure. Embora os artigos pressuponham que a origem seja uma instância do banco de dados MySQL e o destino seja o Banco de Dados do Azure para MySQL, ele pode ser usado para migrar de um Banco de Dados do Azure para MySQL apenas alterando o nome e as credenciais do servidor de origem. Além disso, também há suporte para a migração de servidores MySQL de versão inferior (v 5.6 e posterior) para versões posteriores.
Observação
Para obter uma versão com script baseada no PowerShell dessa experiência de migração, consulte a migração offline com script para o Banco de Dados do Azure para MySQL.
O Amazon RDS (Serviço de Banco de Dados Relacional) para MySQL e o Amazon Aurora (baseado em MySQL) também têm suporte como fontes de migração.
Neste tutorial, você aprenderá a:
- Crie uma instância do DMS.
- Crie um projeto de migração do MySQL no DMS.
- Migre um esquema do MySQL usando DMS.
- Executar a migração.
- Monitorar a migração.
Pré-requisitos
Para concluir este tutorial, você precisará:
Tenha uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
Ter um banco de dados MySQL local com a versão 5.7 ou posterior. Caso contrário, baixe e instale o MySQL community edition 5.7.
Crie uma Rede Virtual do Microsoft Azure para o Serviço de Migração de Banco de Dados do Azure usando o modelo de implantação do Azure Resource Manager, que fornece conectividade site a site com seus servidores de origem locais usando o ExpressRoute ou VPN. Para obter mais informações sobre como criar uma rede virtual, consulte a Documentação da Rede Virtual e, especialmente, os artigos de início rápido com detalhes passo a passo.
Durante a configuração da rede virtual, se você usar o ExpressRoute com o emparelhamento de rede para a Microsoft, adicione os seguintes pontos de extremidade de serviço à sub-rede na qual o serviço será provisionado:
- Ponto de extremidade do banco de dados de destino (por exemplo, ponto de extremidade do SQL, ponto de extremidade do Azure Cosmos DB e assim por diante)
- Ponto de extremidade de armazenamento
- Ponto de extremidade do barramento de serviço
Essa configuração é necessária porque o Serviço de Migração de Banco de Dados do Azure não tem conectividade com a internet.
Verifique se as regras do grupo de segurança de rede da rede virtual não bloqueiam a porta de saída 443 de ServiceTag para ServiceBus, Storage e AzureMonitor. Para obter mais detalhes sobre a filtragem de tráfego NSG de rede virtual, consulte o artigo Filtrar o tráfego de rede com grupos de segurança de rede.
Abra o Firewall do Windows a fim de permitir que as conexões da Rede Virtual para o Serviço de Migração de Banco de Dados do Azure acessem o Servidor MySQL de origem, que, por padrão, é a porta TCP 3306.
Ao usar um dispositivo de firewall na frente de seus bancos de dados de origem, talvez seja necessário adicionar regras de firewall para permitir que as conexões do Serviço de Migração de Banco de Dados do Azure acessem os bancos de dados de origem para migração.
Crie uma regra de firewall no nível do servidor ou configure pontos de extremidade de serviço VNET para o Banco de Dados do Azure de destino para MySQL para permitir que a Rede Virtual para o Serviço de Migração de Banco de Dados do Azure acesse os bancos de dados de destino.
O MySQL de origem deve estar no MySQL community edition com suporte. Para determinar a versão da instância do MySQL, execute o seguinte comando no utilitário MySQL ou no MySQL Workbench:
SELECT @@VERSION;
O Banco de Dados do Azure para MySQL dá suporte somente a tabelas do InnoDB. Para converter tabelas MyISAM em InnoDB, consulte o artigo Convertendo tabelas de MyISAM em InnoDB
O usuário deve ter os privilégios para ler dados no banco de dados de origem.
Para concluir uma migração de esquema com êxito, no servidor de origem, o usuário que executa a migração exige os seguintes privilégios:
- Privilégio "SELECT" no nível do servidor na origem.
- Se estiver migrando exibições, o usuário deverá ter o privilégio "MOSTRAR EXIBIÇÃO" no servidor de origem e o privilégio "CREATE VIEW" no servidor de destino.
- Se estiver migrando gatilhos, o usuário deverá ter o privilégio "TRIGGER" no servidor de origem e de destino.
- Se estiver migrando rotinas (procedimentos e/ou funções), o usuário deverá ter os privilégios "CREATE ROUTINE" e "ALTER ROUTINE" concedidos no nível do servidor no destino.
- Se estiver migrando eventos, o usuário deverá ter o privilégio "EVENT" no servidor de origem e de destino.
- Se estiver migrando usuários/logons, o usuário deverá ter o privilégio "CREATE USER" no servidor de destino.
- Privilégio "DROP" no nível do servidor no destino, a fim de remover tabelas que já possam existir. Por exemplo, ao tentar novamente fazer uma migração.
- Privilégio "REFERENCES" no nível do servidor no destino, a fim de criar tabelas com chaves estrangeiras.
- Se estiver migrando para o MySQL 8.0, o usuário deverá ter o privilégio "SESSION_VARIABLES_ADMIN" no servidor de destino.
- Privilégio "CREATE" no nível do servidor no destino.
- Privilégio "INSERT" no nível do servidor no destino.
- Privilégio "UPDATE" no nível do servidor no destino.
- Privilégio "DELETE" no nível do servidor no destino.
Dimensionar a instância de destino do Banco de Dados do Azure para MySQL
Para preparar o servidor de destino do Banco de Dados do Azure para MySQL para carregamentos de dados mais rápidos usando o Serviço de Migração de Banco de Dados do Azure, recomenda-se os parâmetros de servidor e as alterações de configuração a seguir.
max_allowed_packet – defina como 1073741824 (ou seja, 1 GB) para evitar problemas de conexão devido a linhas longas.
slow_query_log – defina como OFF para desativar o log de consultas lentas. Isso eliminará a sobrecarga causada pelo log de consulta lento durante cargas de dados.
query_store_capture_mode – defina como NONE para desativar o Repositório de Consultas. Isso eliminará a sobrecarga causada pelas atividades de amostragem por Repositório de Consultas.
innodb_buffer_pool_size – innodb_buffer_pool_size só pode ser aumentado escalando verticalmente a computação para o servidor do Banco de Dados do Azure para MySQL. Escale verticalmente o servidor para SKU de 64 vCores para Uso Geral do tipo de preço do portal durante a migração para aumentar o tamanho do innodb_buffer_pool_size.
innodb_io_capacity & innodb_io_capacity_max – altere para 9.000 dos Parâmetros do servidor no portal do Azure a fim de melhorar a utilização de E/S para otimizar a velocidade de migração.
innodb_write_io_threads & innodb_write_io_threads – altere para 4 nos Parâmetros do servidor no portal do Azure para melhorar a velocidade da migração.
Escalar verticalmente a camada de armazenamento – Os IOPs do Banco de Dados do Azure para MySQL aumenta progressivamente com o aumento na camada de armazenamento.
- Na opção de implantação de servidor flexível, recomendamos que você dimensione (aumente ou diminua) a IOPS, independentemente do tamanho do armazenamento.
- O tamanho do armazenamento só pode ser escalado verticalmente, não horizontalmente.
Selecione o tamanho da computação e a camada de computação para o servidor flexível de destino com base na configuração do servidor MySQL de origem.
1 Para a migração, como prática recomendada, selecione Computação de Uso Geral 16 vCores ou superior para o servidor flexível de destino para migrações mais rápidas. Volte para o tamanho de computação desejado para o servidor de destino após a conclusão da migração.
Quando a migração for concluída, você poderá reverter os parâmetros do servidor e a configuração para os valores exigidos pela sua carga de trabalho.
Configurar o DMS
Com o servidor flexível de destino implantado e configurado, você precisa configurar o DMS para migrar seu servidor MySQL para um servidor flexível.
Registre o provedor de recursos
Para registrar o provedor de recursos Microsoft.DataMigration, execute as etapas a seguir.
Antes de criar sua primeira instância do DMS, entre no portal do Azure e pesquise e selecione Assinaturas.
Selecione a assinatura que você deseja usar para criar a instância do DMS e selecione Provedores de recursos.
Pesquise o termo "Migração" e, em seguida, para Microsoft.DataMigration, selecione Registrar.
Criar uma instância do Serviço de Migração de Banco de Dados
No portal do Azure, selecione + Criar um recurso, pesquise o Serviço de Migração de Banco de Dados do Azure e selecione o Serviço de Migração de Banco de Dados do Azure na lista suspensa.
Na tela do Serviço de Migração de Banco de Dados do Azure , selecione Criar.
Na tela Criar Serviço de Migração , especifique um nome para o serviço, a assinatura e um grupo de recursos novo ou existente.
Selecione um tipo de preço e passe para a tela Rede. A capacidade de migração offline está disponível apenas no tipo de preço Premium.
Para obter mais informações sobre custos e tipos de preço, consulte a página de preços.
Selecione uma rede virtual existente na lista ou forneça o nome da rede virtual a ser criada. Passe para a tela Examinar + criar. Você tem a opção de adicionar marcas ao serviço usando a tela Marcas.
A rede virtual fornece ao Serviço de Migração de Banco de Dados do Azure acesso ao SQL Server de origem e à instância do Banco de Dados SQL do Azure de destino.
Para obter mais informações sobre como criar uma rede virtual no portal do Azure, consulte o artigo Criar uma rede virtual usando o portal do Azure.
Examine as configurações e selecione Criar para criar o serviço.
Criar um projeto de migração
Depois que o serviço é criado, localize-o no portal do Azure, abra-o e, em seguida, crie um projeto de migração.
No portal do Azure, selecione Todos os serviços, pesquise o Serviço de Migração de Banco de Dados do Azure e selecione Os Serviços de Migração de Banco de Dados do Azure.
Selecione a instância do serviço de migração nos resultados da pesquisa e selecione + Novo Projeto de Migração.
Na tela Novo projeto de migração , especifique um nome para o projeto, na caixa de seleção de tipo de servidor de origem , selecione MySQL, na caixa de seleção de tipo de servidor de destino, selecione Banco de Dados do Azure para MySQL e, na caixa de seleção de tipo de atividade migração , selecione Migração de dados. Selecione Criar e executar atividade.
Como alternativa, você pode escolher Criar projeto apenas para criar o projeto de migração agora e executar a migração posteriormente.
Configurar projeto de migração
Na tela Selecionar o código-fonte , especifique os detalhes da conexão para a instância mySQL de origem e selecione Avançar: Selecionar destino>>
Na tela Selecionar destino, especifique os detalhes da conexão para a instância de destino do Azure Database for MySQL e selecione Avançar: Selecionar bancos de dados>>
Na tela Selecionar bancos de dados, mapeie a origem e o banco de dados de destino para migração e selecione Avançar: Definir configurações>> de migração. Você pode selecionar a opção Fazer Somente Leitura do Servidor de Origem para tornar a origem somente leitura, mas tenha cuidado que essa é uma configuração aplicada a nível de servidor. Se selecionada, ela definirá todo o servidor como somente leitura, não apenas os bancos de dados selecionados.
Se o banco de dados de destino contiver o mesmo nome de banco de dados do banco de dados de origem, o Serviço de Migração de Banco de Dados do Azure selecionará o banco de dados de destino por padrão.
Na tela Definir configurações de migração, selecione as tabelas para fazer parte da migração e selecione Avançar: Resumo>>. Se as tabelas de destino tiverem dados, elas não serão selecionadas por padrão, mas você poderá selecioná-las explicitamente, e elas serão truncadas antes do início da migração.
Na tela Resumo , na caixa de texto Nome da atividade , especifique um nome para a atividade de migração e examine o resumo para garantir que os detalhes de origem e destino correspondam ao que você especificou anteriormente.
Selecione Iniciar migração. A janela de atividade de migração é exibida e o Status da atividade é Inicializando. O Status é alterado para Em execução quando as migrações de tabela são iniciadas.
Monitorar a migração
Na tela de atividade de migração, selecione Atualizar para atualizar a exibição e ver o progresso sobre o número de tabelas concluídas.
Você pode selecionar o nome do banco de dados na tela atividade para ver o status de cada tabela à medida que elas estão sendo migradas. Selecione Atualizar para atualizar a exibição.
Concluir a migração
Na tela de atividade de migração, selecione Atualizar para atualizar a exibição até que o Status da migração seja exibido como Concluído.
Atividades após a migração
A substituição de migração em uma migração offline é um processo dependente do aplicativo que está fora do escopo deste documento, mas as seguintes atividades pós-migração são prescritas:
- Criar logons, funções e permissões de acordo com os requisitos do aplicativo.
- Recriar todos os gatilhos no banco de dados de destino como extraído durante a etapa anterior à migração.
- Executar testes de integridade do aplicativo no banco de dados de destino para certificar a migração.
Limpar os recursos
Se você não quiser continuar usando o Serviço de Migração de Banco de Dados, poderá excluí-lo com as seguintes etapas:
No portal do Azure, selecione Todos os serviços, pesquise o Serviço de Migração de Banco de Dados do Azure e selecione Os Serviços de Migração de Banco de Dados do Azure.
Selecione a instância do serviço de migração nos resultados da pesquisa e selecione Excluir Serviço.
Na caixa de diálogo de confirmação, digite o nome do serviço na caixa de texto TYPE THE DATABASE MIGRATION SERVICE NAME e selecione Excluir.
Conteúdo relacionado
- Solucionar problemas e erros comuns do Serviço de Migração de Banco de Dados do Azure (clássico)
- Solucionar problemas de erros de DMS ao se conectar a bancos de dados de origem
- O que é o Serviço de Migração de Banco de Dados do Azure?
- O que é o Banco de Dados do Azure para MySQL?
- Migrar o MySQL para o Banco de Dados do Azure para MySQL offline com o PowerShell e o Serviço de Migração de Banco de Dados do Azure