O Data Transmission Service (DTS) permite migrar dados de clusters PolarDB for MySQL para instâncias do ApsaraDB RDS for MySQL e bancos de dados MySQL autogerenciados.
Pré-requisitos
É necessário ter um cluster PolarDB for MySQL de origem. Para mais informações, consulte Comprar um cluster com pagamento conforme o uso e Comprar um cluster por assinatura.
A instância de destino do ApsaraDB RDS for MySQL deve ter mais espaço de armazenamento do que a quantidade utilizada pelo cluster de origem.
Precauções
O DTS migra chaves estrangeiras durante a migração de schema.
Durante a migração de dados completa e incremental, o DTS desativa temporariamente as verificações de restrições e cascatas de chaves estrangeiras no nível da sessão. Atualizações ou exclusões em cascata no banco de dados de origem enquanto a tarefa está em execução podem causar inconsistência de dados.
Tipo | Descrição |
Limites do banco de dados de origem |
|
Notas |
|
Casos especiais | Se o banco de dados de destino for uma instância do RDS for MySQL, o DTS cria automaticamente um banco de dados na instância. Se o nome do banco de dados a ser migrado não estiver em conformidade com as convenções de nomenclatura do RDS for MySQL, crie o banco de dados na instância do RDS for MySQL antes de configurar a tarefa de migração. Para mais informações, consulte Gerenciar bancos de dados. |
Faturamento
|
Tipo de migração |
Taxa de configuração da instância |
Taxa de tráfego de internet |
|
Migração de schema e migração completa de dados |
Gratuito. |
Quando o parâmetro Access Method do banco de dados de destino é definido como Public IP Address, você é cobrado pelo tráfego de internet. Para mais informações, consulte Visão geral do faturamento. |
|
Migração incremental de dados |
Pago. Para mais informações, consulte Visão geral do faturamento. |
Tipos de migração
-
Migração de schema
O Data Transmission Service (DTS) migra as definições de schema dos objetos de migração do banco de dados de origem para o banco de dados de destino.
-
O DTS oferece suporte à migração de schema para tabelas, visualizações, gatilhos, procedimentos armazenados e funções.
NotaO
routine_bodydos procedimentos armazenados, oroutine_bodydas funções e oselect_statementdas visualizações não são modificados. -
Durante a migração de schema, o DTS altera o
DEFINERparaINVOKERnas visualizações, procedimentos armazenados e funções a serem migrados. Essa ação altera o valor deSQL SECURITYparaINVOKER. O DTS também define oDEFINERcomo a conta do banco de dados de destino usada para a tarefa de migração.NotaO método de autenticação de segurança e o definer do banco de dados de origem não são modificados.
O DTS não migra as informações de conta e permissão (informações de USER) do banco de dados de origem. O DTS também altera o método de autenticação de segurança das visualizações, procedimentos armazenados e funções a serem migrados para INVOKER. Portanto, ao chamar esses objetos no banco de dados de destino, o invocador deve ter permissões de leitura e gravação no banco de dados de destino. Caso contrário, a chamada falhará devido a permissões insuficientes. Se a conta do invocador já tiver permissões de leitura e gravação no banco de dados de destino, a chamada desses objetos não será afetada. Se desejar que o
DEFINERde um objeto no banco de dados de destino seja idêntico ao do banco de dados de origem, exclua o objeto que falha ao ser chamado no banco de dados de destino e recrie-o. Ao recriar o objeto, especifique oDEFINERoriginal na instrução de criação e certifique-se de que a conta do definer exista no banco de dados de destino.
-
-
Migração completa
O DTS migra todos os dados históricos dos objetos de migração especificados do banco de dados de origem para o banco de dados de destino.
-
Migração incremental
Após a conclusão da migração completa, o DTS migra as atualizações incrementais de dados do banco de dados de origem para o banco de dados de destino. A migração incremental permite migrar dados de forma fluida, sem interromper suas aplicações autogerenciadas.
Operações SQL para migração incremental
Tipo de operação | Instrução SQL |
DML | INSERT, UPDATE, DELETE |
DDL |
|
Permissões para contas de banco de dados
|
Banco de dados |
Permissões necessárias |
Referência |
|
Cluster PolarDB for MySQL (origem) |
Permissões de leitura nos objetos a serem migrados |
|
|
Instância do ApsaraDB RDS for MySQL (destino) |
Permissões de leitura e gravação no banco de dados de destino |
Se precisar migrar informações de conta do banco de dados de origem, a conta do banco de dados usada para a tarefa requer permissões adicionais. Para mais informações, consulte Migrar contas de banco de dados.
Procedimento
-
Acesse a página da lista de tarefas de migração da região de destino usando um dos métodos a seguir.
Pelo console do DTS
Faça login no console do Data Transmission Service (DTS).
No painel de navegação à esquerda, clique em Data Migration.
No canto superior esquerdo da página, selecione a região onde a instância de migração está localizada.
Pelo console do DMS
NotaAs operações reais podem variar de acordo com o modo e o layout do console do DMS. Para mais informações, consulte Console do modo simples e Personalizar o layout e o estilo do console do DMS.
Faça login no console do Data Management (DMS).
Na barra de menu superior, escolha .
À direita de Data Migration Tasks, selecione a região onde a instância de migração está localizada.
Clique em Create Task para acessar a página de configuração da tarefa.
-
Configure os bancos de dados de origem e de destino.
AvisoApós selecionar as instâncias de origem e de destino, recomendamos ler atentamente os limites exibidos na parte superior da página. Caso contrário, a tarefa pode falhar ou ocorrer inconsistência de dados.
Categoria
Parâmetro
Descrição
N/A
Task Name
O DTS gera automaticamente um nome para a tarefa. Recomendamos especificar um nome descritivo para facilitar a identificação. O nome não precisa ser único.
Source Database
Select Existing Connection
Para usar uma instância de banco de dados que foi adicionada ao sistema (criada ou salva), selecione a instância desejada na lista suspensa. As informações do banco de dados abaixo serão configuradas automaticamente.
NotaNo console do DMS, este parâmetro é nomeado como Select a DMS database instance..
Se você não registrou a instância de banco de dados no sistema ou não precisa usar uma instância registrada, configure manualmente as informações do banco de dados abaixo.
Database Type
Selecione PolarDB for MySQL.
Access Method
Selecione Alibaba Cloud Instance.
Instance Region
Selecione a região do cluster do PolarDB for MySQL de origem.
Replicate Data Across Alibaba Cloud Accounts
Neste exemplo, é usada uma instância de banco de dados na conta atual do Alibaba Cloud. Selecione No.
PolarDB Cluster ID
Insira o ID do cluster do PolarDB for MySQL de origem.
Database Account
Insira a conta do banco de dados do cluster do PolarDB for MySQL de origem. Para obter informações sobre as permissões necessárias, consulte Permissões necessárias para contas de banco de dados.
Database Password
Insira a senha da conta do banco de dados.
Encryption
Selecione um tipo de conexão conforme necessário. Para mais informações sobre o recurso de criptografia SSL, consulte Ativar criptografia SSL.
Destination Database
Select Existing Connection
Para usar uma instância de banco de dados que foi adicionada ao sistema (criada ou salva), selecione a instância desejada na lista suspensa. As informações do banco de dados abaixo serão configuradas automaticamente.
NotaNo console do DMS, este parâmetro é nomeado como Select a DMS database instance..
Se você não registrou a instância de banco de dados no sistema ou não precisa usar uma instância registrada, configure manualmente as informações do banco de dados abaixo.
Database Type
Selecione MySQL.
Access Method
Selecione Alibaba Cloud Instance.
Instance Region
Selecione a região da instância do ApsaraDB RDS for MySQL de destino.
Replicate Data Across Alibaba Cloud Accounts
Neste exemplo, é usada uma instância de banco de dados na conta atual do Alibaba Cloud. Selecione No.
RDS Instance ID
Selecione o ID da instância do ApsaraDB RDS for MySQL de destino.
Database Account
Insira a conta do banco de dados da instância do ApsaraDB RDS for MySQL de destino. Para obter informações sobre as permissões necessárias, consulte Permissões necessárias para contas de banco de dados.
Database Password
Insira a senha da conta do banco de dados.
Encryption
Selecione Non-encrypted ou SSL-encrypted com base nos requisitos do seu banco de dados. Se você definir este parâmetro como SSL-encrypted, deverá ativar a criptografia SSL para a instância do RDS for MySQL anteriormente. Para mais informações, consulte Ativar rapidamente a criptografia SSL usando um certificado de nuvem.
-
Após concluir a configuração, clique em Test Connectivity and Proceed na parte inferior da página.
NotaCertifique-se de que o segmento de endereços IP do serviço DTS seja adicionado automática ou manualmente às configurações de segurança dos bancos de dados de origem e de destino para permitir o acesso dos servidores do DTS. Para mais informações, consulte Adicionar endereços IP de servidores do DTS a uma lista de permissões.
Se o banco de dados de origem ou de destino for um banco de dados autogerenciado (o Access Method não é Alibaba Cloud Instance), você também deve clicar em Test Connectivity na caixa de diálogo CIDR Blocks of DTS Servers que aparece.
-
Configure os objetos da tarefa.
-
Na página Configure Objects, configure os objetos que deseja migrar.
Parâmetro
Descrição
Migration Types
Se precisar realizar apenas uma migração completa, selecione Schema Migration e Full Data Migration.
Para realizar uma migração sem tempo de inatividade, selecione Schema Migration, Full Data Migration e Incremental Data Migration.
NotaSe não selecionar Schema Migration, você deve garantir que exista um banco de dados e tabelas para receber os dados no banco de dados de destino. Também é possível usar o recurso de mapeamento de nomes de objetos na caixa Full Data Migration, conforme necessário.
Se não selecionar Incremental Data Migration, não grave novos dados na instância de origem durante a migração de dados para garantir a consistência dos dados.
Method to Migrate Triggers in Source Database
Selecione um método para migrar triggers com base nos seus requisitos. Se os objetos a serem migrados não envolverem triggers, não é necessário configurar este parâmetro. Para mais informações, consulte Configurar como sincronizar ou migrar triggers.
NotaEste parâmetro está disponível apenas se os Migration Types selecionados incluírem Schema Migration e Selected Objects.
Processing Mode of Conflicting Tables
Precheck and Report Errors: Verifica se existem tabelas com os mesmos nomes no banco de dados de destino. Se não existirem, a pré-verificação é aprovada. Se existirem, um erro é relatado durante a pré-verificação e a tarefa de migração de dados não é iniciada.
NotaSe uma tabela no banco de dados de destino tiver o mesmo nome, mas não puder ser excluída ou renomeada facilmente, você poderá alterar o nome da tabela no banco de dados de destino. Para mais informações, consulte Mapeamento de nomes de objetos.
Ignore Errors and Proceed: Ignora a verificação de tabelas com os mesmos nomes.
AvisoSelecionar Schema Migration pode causar inconsistência de dados e riscos ao negócio. Por exemplo:
Se os esquemas das tabelas forem consistentes e um registro no banco de dados de destino tiver o mesmo valor de chave primária que um registro no banco de dados de origem:
Durante a migração completa, o DTS mantém o registro no banco de dados de destino. O registro do banco de dados de origem não é migrado.
Durante a migração incremental, o DTS não mantém o registro no banco de dados de destino. O registro do banco de dados de origem sobrescreve o registro no banco de dados de destino.
Se os esquemas das tabelas forem inconsistentes, apenas algumas colunas de dados poderão ser migradas, ou a migração poderá falhar. Prossiga com cautela.
Incremental Data Migration
Selecione se deseja migrar eventos do banco de dados de origem. Se selecionar Yes, etapas adicionais serão necessárias. Sincronizar ou migrar eventos.
Capitalization of Object Names in Destination Instance
Você pode configurar a política de diferenciação de maiúsculas e minúsculas para os nomes dos objetos migrados, como bancos de dados, tabelas e colunas, na instância de destino. Por padrão, DTS default policy está selecionado. Você também pode optar por manter a diferenciação de maiúsculas e minúsculas consistente com a política padrão do banco de dados de origem ou de destino. Para mais informações, consulte Diferenciação de maiúsculas e minúsculas de nomes de objetos no banco de dados de destino.
Ignore Errors and Proceed
Na caixa Whether to migrate Event, clique nos objetos a serem migrados e, em seguida, clique em
para movê-los para a caixa Selected Objects.NotaVocê pode selecionar objetos para migrar no nível do banco de dados, tabela ou coluna. Se selecionar uma tabela ou coluna como objeto de migração, outros objetos, como visualizações, triggers e procedimentos armazenados, não serão migrados para o banco de dados de destino.
Selected Objects
-
Para alterar o nome de um único objeto de migração na instância de destino, clique com o botão direito do mouse no objeto na caixa Selected Objects. Para mais informações, consulte Mapear nomes individuais de esquemas, tabelas e colunas.
-
Para alterar os nomes de vários objetos de migração na instância de destino, clique em Source Objects no canto superior direito da caixa Source Objects. Para mais informações, consulte Mapear vários nomes de esquemas, tabelas e colunas.
Nota-
Para filtrar dados por condições, clique com o botão direito do mouse na tabela a ser migrada no painel Selected Objects e defina as condições de filtro na caixa de diálogo que aparece. Para mais informações, consulte Definir condições de filtro.
-
Para selecionar as operações SQL para migração incremental no nível do banco de dados ou tabela, clique com o botão direito do mouse no objeto a ser migrado no painel Selected Objects e selecione as operações SQL desejadas na caixa de diálogo que aparece. Para obter informações sobre as operações suportadas, consulte Operações SQL suportadas para migração incremental.
-
Se você usar o recurso de mapeamento de nomes de objetos, o DTS poderá falhar ao migrar outros objetos que dependem do objeto mapeado.
-
Clique em Next: Advanced Settings para configurar parâmetros avançados.
Parâmetro
Descrição
Selected Objects
Por padrão, o DTS agenda tarefas em um cluster compartilhado. Não é necessário selecionar um. Se desejar tarefas mais estáveis, você pode adquirir um cluster dedicado para executar tarefas de migração do DTS.
Batch Edit
Se você usar o Data Management (DMS) ou gh-ost para realizar alterações de DDL online no banco de dados de origem, poderá escolher se deseja migrar os dados das tabelas temporárias geradas pelas alterações de DDL online.
ImportanteAs tarefas do DTS não suportam o uso de ferramentas como pt-online-schema-change para realizar alterações de DDL online. Caso contrário, a tarefa do DTS falhará.
Os métodos de processamento para cada fase são os seguintes: As fases Schema Migration e Full Data Migration não permitem operações DDL que alterem a estrutura do banco de dados ou da tabela. Portanto, não são controladas pela política de DDL online.
Schema Migration: Não controlada pela política de DDL online. Tabelas temporárias relacionadas são criadas.
Dedicated Cluster for Task Scheduling: Não controlada pela política de DDL online. A migração de tabelas temporárias não está incluída nos objetos de migração completa. Todas as tabelas cujos nomes correspondem à expressão regular (
^_(.+)_(?:gho|new)$ou^_(.+)_(?:ghc|del|old)$) são filtradas.Incremental Data Migration: Controlada pela política de DDL online.
Schema Migration: Migra alterações de dados de tabelas temporárias (por exemplo,
_table_name_gho) geradas por operações de DDL online.Full Data Migration e Schema Migration: Filtra alterações de dados de tabelas temporárias (por exemplo,
_table_name_gho) geradas por ferramentas como gh-ost com base em regras de expressão regular.
Full Data Migration: Migra os dados das tabelas temporárias geradas pelas alterações de DDL online.
NotaSe as alterações de DDL online gerarem uma grande quantidade de dados em tabelas temporárias, isso poderá causar latência na tarefa.
Incremental Data Migration: Não migra os dados das tabelas temporárias geradas pelas alterações de DDL online. Migra apenas as instruções DDL originais executadas usando o Data Management (DMS).
NotaEsta opção faz com que as tabelas no banco de dados de destino sejam bloqueadas.
Yes: Não migra os dados das tabelas temporárias geradas pelas alterações de DDL online. Suporta regras de filtragem personalizadas. O DTS filtra alterações de dados de tabelas temporárias (por exemplo,
_table_name_gho) geradas por ferramentas como gh-ost com base em regras de expressão regular. Você pode modificar as expressões regulares padrão usadas para corresponder a tabelas sombra e inúteis conforme necessário:Tabela sombra:
^_(.+)_(?:gho|new)$Tabela inútil:
^_(.+)_(?:ghc|del|old)$
NotaEsta opção faz com que as tabelas no banco de dados de destino sejam bloqueadas.
No, Adapt to DMS Online DDL
Especifique se deseja migrar informações de contas do banco de dados de origem. Se selecionar No, Adapt to gh-ost, você também deverá selecionar as contas a serem migradas e confirmar suas permissões.
Retry Time for Failed Connections
Após o início da tarefa de migração, se a conexão com o banco de dados de origem ou de destino falhar, o DTS relatará um erro e começará imediatamente a tentar reconectar. A duração padrão de nova tentativa é de 720 minutos. Você pode personalizar o tempo de nova tentativa para um valor de 10 a 1440 minutos. Recomendamos definir a duração para mais de 30 minutos. Se o DTS reconectar aos bancos de dados de origem e de destino dentro da duração especificada, a tarefa de migração será retomada automaticamente. Caso contrário, a tarefa falhará.
NotaPara várias instâncias do DTS que compartilham a mesma origem ou destino, o tempo de nova tentativa de rede é determinado pela configuração da última tarefa criada.
Como você é cobrado pela tarefa durante o período de nova tentativa de conexão, recomendamos personalizar o tempo de nova tentativa com base nas necessidades do seu negócio ou liberar a instância do DTS o mais rápido possível após a liberação das instâncias de banco de dados de origem e de destino.
No, Adapt to DMS Online DDL
Após o início da tarefa de migração, se ocorrer um problema que não seja de conectividade, como uma exceção de execução de DDL ou DML, no banco de dados de origem ou de destino, o DTS relatará um erro e começará imediatamente a tentar repetir a operação. A duração padrão de nova tentativa é de 10 minutos. Você pode personalizar o tempo de nova tentativa para um valor de 1 a 1440 minutos. Recomendamos definir a duração para mais de 10 minutos. Se as operações relacionadas forem bem-sucedidas dentro da duração de nova tentativa especificada, a tarefa de migração será retomada automaticamente. Caso contrário, a tarefa falhará.
ImportanteO valor de No, Adapt to gh-ost deve ser menor que o valor de Whether to Migrate Accounts.
Yes
Durante a migração completa, o DTS consome recursos de leitura e gravação nos bancos de dados de origem e de destino, o que pode aumentar a carga do banco de dados. Se necessário, você pode ativar o limitador para a tarefa de migração completa. É possível definir Queries per second (QPS) to the source database, Retry Time for Other Issues e Retry Time for Other Issues para reduzir a carga no banco de dados de destino.
NotaEste item de configuração está disponível apenas se você selecionar Retry Time for Failed Connections para Enable Throttling for Full Data Migration.
Você também pode ajustar a velocidade de migração completa após a instância de migração estar em execução.
Enable Throttling for Incremental Data Migration
Se necessário, você também pode optar por definir limites de velocidade para a tarefa de migração incremental. É possível definir RPS of Full Data Migration e Data migration speed for full migration (MB/s) para reduzir a carga no banco de dados de destino.
NotaEste item de configuração está disponível apenas se você selecionar Full Data Migration para Migration Types.
Você também pode ajustar a velocidade de migração incremental após a instância de migração estar em execução.
Environment Tag
Você pode selecionar uma tag de ambiente para identificar a instância com base nos seus requisitos. Este parâmetro não é necessário neste exemplo.
RPS of Incremental Data Migration
Escolha se deseja gravar informações SQL de heartbeat no banco de dados de origem enquanto a instância do DTS está em execução.
-
Yes: As informações SQL de heartbeat não são gravadas no banco de dados de origem. Isso pode fazer com que a instância do DTS relate um atraso.
-
Incremental Data Migration: Grava informações SQL de heartbeat no banco de dados de origem. Isso pode interferir em recursos como backup físico e clonagem do banco de dados de origem.
Migration Types
Com base nas necessidades do seu negócio, selecione se deseja configurar o recurso de ETL para processar dados.
Yes: Configura o recurso de ETL. Você também deve inserir instruções de processamento de dados na caixa de texto.
Whether to delete SQL operations on heartbeat tables of forward and reverse tasks: Não configura o recurso de ETL.
Yes
Selecione se deseja definir alertas e receber notificações de alerta com base nas necessidades do seu negócio.
No: Não define um alerta.
Configure ETL: Configure alertas definindo um limiar de alerta e um notificações de alerta. Se uma migração falhar ou a latência exceder o limiar, o sistema enviará uma notificação de alerta.
-
Clique em Next: Data Validation para configurar uma tarefa de validação de dados.
Para mais informações sobre o recurso de validação de dados, consulte Configurar validação de dados.
-
-
Salve a tarefa e execute uma pré-verificação.
Para visualizar os parâmetros de configuração desta instância ao chamar a operação da API, mova o ponteiro sobre o botão No e clique em Monitoring and Alerting na dica que aparece.
Se não precisar visualizar ou já tiver terminado de visualizar os parâmetros da API, clique em No na parte inferior da página.
NotaAntes do início da tarefa de migração, o DTS realiza uma pré-verificação. A tarefa só é iniciada após ser aprovada na pré-verificação.
Se a pré-verificação falhar, clique em Yes ao lado do item de verificação com falha, corrija o problema com base na instrução e execute a pré-verificação novamente.
-
Se um aviso for relatado durante a pré-verificação:
Para itens de verificação que não podem ser ignorados, clique em View Details ao lado do item com falha, corrija o problema com base na instrução e execute a pré-verificação novamente.
Para itens de verificação que podem ser ignorados, você pode clicar em Next: Save Task Settings and Precheck, Preview OpenAPI parameters, Next: Save Task Settings and Precheck e View Details para pular o item de alerta e executar a pré-verificação novamente. Se optar por ignorar um aviso, isso poderá causar problemas como inconsistência de dados e representar riscos ao seu negócio.
-
Adquira a instância.
Quando a View Details for de 100%, clique em Confirm Alert Details.
-
Na página Ignore, selecione a especificação do link para a instância de migração de dados. Para mais informações, consulte a tabela a seguir.
Categoria
Parâmetro
Descrição
OK
Precheck Again
Selecione o grupo de recursos ao qual a instância pertence. O valor padrão é o grupo de recursos padrão. Para mais informações, consulte O que é o gerenciamento de recursos?
Success Rate
O DTS fornece especificações de migração com diferentes níveis de desempenho. A especificação do link afeta a velocidade da migração. Selecione uma especificação com base no seu cenário de negócios. Para mais informações, consulte Especificações de link de migração de dados.
Após concluir a configuração, leia e selecione Next: Purchase Instance.
-
Clique em Purchase. Na caixa de diálogo New Instance Class exibida, clique em Resource Group Settings.
Visualize o progresso da tarefa de migração na página de lista Instance Class.
NotaSe a tarefa de migração não incluir a migração incremental, ela será interrompida automaticamente após a conclusão da migração completa. Após a interrupção da tarefa, o Data Transmission Service (Pay-as-you-go) Service Terms dela mudará para Buy and Start.
Se a tarefa de migração incluir a migração incremental, ela não será interrompida automaticamente. A tarefa de migração incremental continuará em execução. Enquanto a tarefa de migração incremental estiver em execução, o OK da tarefa será OK.