Nesta página, descrevemos como configurar as seguintes instâncias de banco de dados de origem para migrações homogêneas contínuas do MySQL:
- Cloud SQL para MySQL
- MySQL auto-hospedado
- Amazon RDS para MySQL
- Amazon Aurora para MySQL
- Microsoft Azure Database para MySQL
Configurar uma origem do Cloud SQL para MySQL
Para configurar uma instância de origem do Cloud SQL para MySQL no processo de migração, faça o seguinte:
- Verifique se o banco de dados de origem contém metadados definidos por usuários
com a cláusula
DEFINER. Consulte Verificar metadados com uma cláusulaDEFINER.O Database Migration Service para migrações homogêneas do MySQL não migra contas de usuário e logins. As origens que contêm metadados definidos por contas de usuário com a cláusula
DEFINERpodem bloquear sua migração. - Se o banco de dados de origem tiver objetos que referenciam
tabelas nos esquemas de sistema
mysql,performance_schema,information_schema,ndbinfoousys, verifique se os bancos de dados de réplica também contêm essas tabelas de esquema do sistema.Se os bancos de dados de réplica não tiverem essas tabelas, o job de migração poderá falhar com o
Unknown table in system schema. -
Ative e configure os registros binários no banco de dados de origem.
No Cloud SQL para MySQL, a geração de registros binários é ativada automaticamente quando você usa a recuperação pontual (PITR). É possível configurar o formato do registro e o período de armazenamento com as flags de sistema disponíveis no Cloud SQL. Faça o seguinte:
- Ative a PITR na instância. Esse recurso ativa automaticamente a geração de registros binários. Não é possível ativar a geração de registros binários sem a PITR no Cloud SQL. Consulte Recuperação pontual (PITR) na documentação do Cloud SQL.
- Use flags do Cloud SQL para ajustar a configuração de geração de registros.
Para mais detalhes, consulte
Configurar flags de banco de dados
na documentação do Cloud SQL.
- O Database Migration Service requer que
binlog_formatseja definido comoROW. Não é necessário ajustar essa configuração, o Cloud SQL para MySQL define automaticamente a flagbinlog_formatcomoROW. - Defina o
período de armazenamento de registros como um período longo o suficiente para dar suporte à
migração do banco de dados. Geralmente, uma semana é suficiente.
Use uma das seguintes flags:
- MySQL 5.6 - 5.7:
expire_logs_days - MySQL 8.0 e mais recentes:
expire_logs_days,binlog_expire_logs_seconds
- MySQL 5.6 - 5.7:
- O Database Migration Service requer que
-
Crie uma conta de usuário de migração dedicada na instância. Consulte Criar um usuário na documentação do Cloud SQL. Verifique se as seguintes condições foram atendidas:
- Você permite que a conta de usuário dedicada se conecte de qualquer host
(
host=%). - A senha da conta não pode ter mais de 32 caracteres. Para mais informações sobre as limitações de tamanho da senha do usuário do MySQL, consulte o bug do MySQL nº 43439.
- Você permite que a conta de usuário dedicada se conecte de qualquer host
(
-
Atribua os privilégios necessários à conta de usuário de migração dedicada. Para migrações contínuas, a lista completa de privilégios necessários depende de você fornecer seus próprios arquivos dump ou usar o recurso de dump gerenciado do Database Migration Service:
Dump gerenciado
Se você quiser que o Database Migration Service faça automaticamente o despejo completo do seu banco de dados de origem, atribua os seguintes privilégios à conta de usuário:
REPLICATION SLAVEEXECUTEREPLICATION CLIENTSELECTSHOW VIEWTRIGGERRELOAD- Para as versões 8.0 ou mais recentes do MySQL de origem:verifique se a conta de migração
não tem o privilégio
BACKUP_ADMIN.
Despejo manual
Se você fornecer seus próprios arquivos dump criados com
mysqldump, será necessário fornecer os privilégios necessários para a fase do CDC:
Configurar uma origem do MySQL auto-hospedada
Para configurar uma instância de origem do MySQL autohospedada para o processo de migração, faça o seguinte:
- Verifique se todas as tabelas (exceto as tabelas em bancos de dados do sistema) usam o mecanismo de armazenamento InnoDB. Se você usar um mecanismo de armazenamento diferente, talvez seja necessário converter as tabelas. Para mais informações, consulte Como converter tabelas do MyISAM para o InnoDB.
- Verifique se o banco de dados de origem contém metadados definidos por usuários
com a cláusula
DEFINER. Consulte Verificar metadados com uma cláusulaDEFINER.O Database Migration Service para migrações homogêneas do MySQL não migra contas de usuário e logins. Fontes que contêm metadados definidos por contas de usuário com a cláusula
DEFINERpodem bloquear sua migração. - Se o banco de dados de origem tiver objetos que referenciam
tabelas nos esquemas de sistema
mysql,performance_schema,information_schema,ndbinfoousys, verifique se os bancos de dados de réplica também contêm essas tabelas de esquema do sistema.Se os bancos de dados de réplica não tiverem essas tabelas, o job de migração poderá falhar com o
Unknown table in system schema. - Configure a definição
server-idcom um valor de1ou maior. Para mais informações, consulte Opções e variáveis de replicação e geração de registros binários. -
Verifique se
GTID_MODEestá definido comoONouOFF. Nenhum outro valor é aceito.O Database Migration Service exige que
GTID_MODEseja definido comoONnos seguintes cenários:- Quando você migra para uma instância de destino atual que tem réplicas de leitura ativadas.
- Se você quiser configurar réplicas de leitura em cascata depois de concluir o processo de migração.
- Se você planeja criar manualmente os arquivos dump e fornecê-los no job de migração.
Para mais informações sobre
GTID_MODE, consulte Variável de sistema de ID da transação global. -
Ative e configure os registros binários no banco de dados de origem. Faça o seguinte:
- Ative os registros binários no banco de dados de origem.
- Defina
binlog_formatcomo'ROW'. Consulte Geração de registros binários baseados em linha. - Defina o
período de retenção de registros para um período longo o suficiente para dar suporte à
migração do banco de dados. Geralmente, uma semana é suficiente.
Use uma das seguintes flags:
- MySQL 5.5 - 5.7:
expire_logs_days - MySQL 8.0:
expire_logs_days,binlog_expire_logs_seconds
- MySQL 5.5 - 5.7:
-
Crie uma conta de usuário de migração dedicada na instância. Consulte Declarações de gerenciamento de contas. Verifique se as seguintes condições foram atendidas:
- Você permite que a conta de usuário dedicada se conecte de qualquer host
(
host=%). - A senha da conta não tem mais de 32 caracteres. Para mais informações sobre as limitações de comprimento de senha de usuário do MySQL, consulte Bug do MySQL nº 43439.
- Você permite que a conta de usuário dedicada se conecte de qualquer host
(
-
Atribua os privilégios necessários à conta de usuário de migração dedicada. Para migrações contínuas, a lista completa de privilégios necessários depende de você fornecer seus próprios arquivos dump ou usar o recurso de dump gerenciado do Database Migration Service:
Dump gerenciado
Se você quiser que o Database Migration Service faça automaticamente o despejo completo do banco de dados de origem, atribua os seguintes privilégios à conta de usuário:
REPLICATION SLAVEEXECUTEREPLICATION CLIENTSELECTSHOW VIEWTRIGGER- Para fontes com a configuração
GTID_MODE = ON:RELOADCom o fluxo de despejo gerenciado, o Database Migration Service exige a configuração
GTID_MODE = ONsomente quando você migra para uma instância de destino atual que tem réplicas de leitura ativadas. - Para as versões 8.0 ou mais recentes do MySQL de origem:verifique se a conta de migração
não tem o privilégio
BACKUP_ADMIN.
Despejo manual
Se você fornecer seus próprios arquivos dump criados com
mysqldump, será necessário fornecer os privilégios exigidos para a fase de CDC:
Configurar uma origem do Amazon RDS para MySQL
Para configurar uma instância de origem do Amazon RDS para MySQL no processo de migração, faça o seguinte:
- O Amazon RDS para MySQL usa o mecanismo de armazenamento InnoDB por padrão, mas permite o uso de outros mecanismos de armazenamento. Verifique se todas as suas tabelas (exceto as tabelas em bancos de dados do sistema) usam o mecanismo de armazenamento InnoDB. Se você usa um mecanismo de armazenamento diferente, talvez seja necessário converter as tabelas. Para mais informações, consulte Como converter tabelas do MyISAM para o InnoDB.
- Verifique se o banco de dados de origem contém metadados definidos por usuários
com a cláusula
DEFINER. Consulte Verificar metadados com uma cláusulaDEFINER.O Database Migration Service para migrações homogêneas do MySQL não migra contas de usuário e logins. As origens que contêm metadados definidos por contas de usuário com a cláusula
DEFINERpodem bloquear sua migração. - Se o banco de dados de origem tiver objetos que referenciam
tabelas nos esquemas de sistema
mysql,performance_schema,information_schema,ndbinfoousys, verifique se os bancos de dados de réplica também contêm essas tabelas de esquema do sistema.Se os bancos de dados de réplica não tiverem essas tabelas, o job de migração poderá falhar com o
Unknown table in system schema. -
Verifique se
GTID_MODEestá definido comoONouOFF. Nenhum outro valor é aceito. O Amazon RDS para MySQL usaGTID_MODE = OFFpor padrão.O Database Migration Service exige que
GTID_MODEseja definido comoONnos seguintes cenários:- Ao migrar para uma instância de destino atual que tenha réplicas de leitura ativadas.
- Se você planeja criar manualmente os arquivos dump e fornecê-los no job de migração.
Para mais informações sobre
GTID_MODE, consulte Variável de sistema de ID da transação global. -
Verifique e configure os registros binários no banco de dados de origem. Faça o seguinte:
- Verifique se a instância usa backups automatizados. O Amazon RDS gera registros binários somente quando os backups automatizados estão ativados. Para mais informações, consulte Como ativar backups automatizados na documentação do Amazon RDS.
-
Defina o período de armazenamento de registros como um período longo o suficiente para dar suporte à migração do banco de dados. Geralmente, uma semana é suficiente. Consulte Definir e mostrar a configuração do registro binário na documentação do Amazon RDS.
- Reinicie o servidor para que as mudanças feitas entrem em vigor.
-
Crie uma conta de usuário de migração dedicada na instância. Consulte Extratos de gerenciamento da conta. Verifique se as seguintes condições foram atendidas:
- Você permite que a conta de usuário dedicada se conecte de qualquer host
(
host=%). - A senha da conta não tem mais de 32 caracteres. Para mais informações sobre as limitações de comprimento de senha de usuário do MySQL, consulte Bug do MySQL nº 43439.
- Você permite que a conta de usuário dedicada se conecte de qualquer host
(
-
Atribua os privilégios necessários à conta de usuário de migração dedicada. Para migrações contínuas, a lista completa de privilégios necessários depende de você fornecer seus próprios arquivos dump ou usar o recurso de despejo gerenciado do Database Migration Service:
Dump gerenciado
Se você quiser que o Database Migration Service faça automaticamente o despejo completo do banco de dados de origem, atribua os seguintes privilégios à conta de usuário:
REPLICATION SLAVEEXECUTEREPLICATION CLIENTSELECTSHOW VIEWTRIGGERLOCK TABLES- Para fontes com a configuração
GTID_MODE = ON:RELOADCom o fluxo de despejo gerenciado, o Database Migration Service exige a configuração
GTID_MODE = ONapenas quando você migra para uma instância de destino atual que tem réplicas de leitura ativadas. - Para as versões 8.0 ou mais recentes do MySQL de origem:verifique se a conta de migração
não tem o privilégio
BACKUP_ADMIN.
Despejo manual
Se você fornecer seus próprios arquivos dump criados com
mysqldump, será necessário fornecer os privilégios exigidos para a fase de CDC:
Configurar uma origem do Amazon Aurora para MySQL
Para configurar uma instância de origem do Amazon Aurora para MySQL no processo de migração, faça o seguinte:
- Verifique se o banco de dados de origem contém metadados definidos por usuários
com a cláusula
DEFINER. Consulte Verificar metadados com uma cláusulaDEFINER.O Database Migration Service para migrações homogêneas do MySQL não migra contas de usuário e logins. As origens que contêm metadados definidos por contas de usuário com a cláusula
DEFINERpodem bloquear sua migração. - Se o banco de dados de origem tiver objetos que referenciam
tabelas nos esquemas do sistema
mysql,performance_schema,information_schema,ndbinfoousys, verifique se os bancos de dados de réplica também têm essas tabelas de esquema do sistema.Se os bancos de dados de réplica não tiverem essas tabelas, o job de migração poderá falhar com o
Unknown table in system schema. -
Verifique se
GTID_MODEestá definido comoONouOFF. Nenhum outro valor é aceito. O Amazon Aurora para MySQL usaGTID_MODE = OFFpor padrão.O Database Migration Service exige que
GTID_MODEseja definido comoONnos seguintes cenários:- Quando você migra para uma instância de destino atual que tem réplicas de leitura ativadas.
- Se você planeja criar manualmente os arquivos dump e fornecê-los no job de migração.
Para mais informações sobre
GTID_MODE, consulte Variável de sistema de ID da transação global. -
Ative e configure os registros binários no banco de dados de origem. Faça o seguinte:
- Ative a geração de registros binários para seu banco de dados MySQL.
-
Defina o período de armazenamento de registros como um período longo o suficiente para dar suporte à migração do banco de dados. Geralmente, uma semana é suficiente. Consulte Como definir e mostrar a configuração do registro binário.
- Reinicie o servidor para que as mudanças feitas entrem em vigor.
-
Crie uma conta de usuário de migração dedicada na instância. Consulte Extratos de gerenciamento da conta. Verifique se as seguintes condições foram atendidas:
- Você permite que a conta de usuário dedicada se conecte de qualquer host
(
host=%). - A senha da conta não tem mais de 32 caracteres. Para mais informações sobre as limitações de comprimento de senha de usuário do MySQL, consulte Bug do MySQL nº 43439.
- Você permite que a conta de usuário dedicada se conecte de qualquer host
(
-
Atribua os privilégios necessários à conta de usuário de migração dedicada. Para migrações contínuas, a lista completa de privilégios necessários depende de você fornecer seus próprios arquivos dump ou usar o recurso de despejo gerenciado do Database Migration Service:
Dump gerenciado
Se você quiser que o Database Migration Service faça automaticamente o despejo completo do banco de dados de origem, atribua os seguintes privilégios à conta de usuário:
REPLICATION SLAVEEXECUTEREPLICATION CLIENTSELECTSHOW VIEWTRIGGERLOCK TABLES- Para origens com a configuração
GTID_MODE = ON:RELOADCom o fluxo de despejo gerenciado, o Database Migration Service exige a configuração
GTID_MODE = ONapenas quando você migra para uma instância de destino atual que tem réplicas de leitura ativadas. - Para versões de origem do MySQL 8.0 ou mais recentes:verifique se a conta de migração
não tem o privilégio
BACKUP_ADMIN.
Dump manual
Se você fornecer seus próprios arquivos dump criados com
mysqldump, será necessário fornecer os privilégios necessários para a fase do CDC:
Configurar uma fonte do Microsoft Azure Database para MySQL
Para configurar uma instância de origem do Microsoft Azure Database para MySQL no processo de migração, faça o seguinte:
- Verifique se o banco de dados de origem contém metadados definidos por usuários
com a cláusula
DEFINER. Consulte Verificar metadados com uma cláusulaDEFINER.O Database Migration Service para migrações homogêneas do MySQL não migra contas de usuário e logins. As origens que contêm metadados definidos por contas de usuário com a cláusula
DEFINERpodem bloquear sua migração. - Se o banco de dados de origem tiver objetos que referenciam
tabelas nos esquemas de sistema
mysql,performance_schema,information_schema,ndbinfoousys, verifique se os bancos de dados de réplica também contêm essas tabelas de esquema do sistema.Se os bancos de dados de réplica não tiverem essas tabelas, o job de migração poderá falhar com o
Unknown table in system schema. -
Verifique se
GTID_MODEestá definido comoONouOFF. Nenhum outro valor é aceito. O Microsoft Azure Database para MySQL usaGTID_MODE = OFFpor padrão.O Database Migration Service exige que
GTID_MODEseja definido comoONnos seguintes cenários:- Quando você migra para uma instância de destino atual que tem réplicas de leitura ativadas.
- Se você planeja criar manualmente os arquivos dump e fornecê-los no job de migração.
Para mais informações sobre
GTID_MODE, consulte Variável de sistema de ID da transação global. -
Verifique e configure as configurações de geração de registros binários no banco de dados de origem. Faça o seguinte:
- A geração de registros binários é ativada por padrão no Microsoft Azure Database para MySQL. Não é necessário ativá-lo, mas confirme se o recurso está ativado. Para mais informações, consulte a documentação da Microsoft.
-
Defina
binlog_expire_logs_secondscomo um período longo o suficiente para dar suporte à migração do banco de dados. Em geral, uma semana é suficiente.Para mais informações, consulte Configurar parâmetros do servidor no Banco de Dados do Azure para MySQL e o parâmetro
binlog_expire_logs_secondsna documentação da Microsoft. - Reinicie o servidor para que as alterações feitas entrem em vigor.
Verifique o valor da configuração
require_secure_transport.Por padrão, os bancos de dados do Microsoft Azure exigem criptografia SSL/TLS para todas as conexões de entrada. Dependendo do valor de
require_secure_transport, use uma das seguintes configurações de criptografia ao criar o perfil de conexão de origem:- Se
require_secure_transportestiver definido comoon, selecione Básico, TLS ou mTLS. - Se
require_secure_transportestiver definido comooff, selecione Nenhum.
- Se
-
Crie uma conta de usuário de migração dedicada na instância. Consulte Declarações de gerenciamento de contas. Verifique se as seguintes condições foram atendidas:
- Você permite que a conta de usuário dedicada se conecte de qualquer host
(
host=%). - A senha da conta não tem mais de 32 caracteres. Para mais informações sobre as limitações de tamanho da senha do usuário do MySQL, consulte o bug do MySQL nº 43439.
- Você permite que a conta de usuário dedicada se conecte de qualquer host
(
-
Atribua os privilégios necessários à conta de usuário de migração dedicada. Para migrações contínuas, a lista completa de privilégios necessários depende de você fornecer seus próprios arquivos dump ou usar o recurso de despejo gerenciado do Database Migration Service:
Dump gerenciado
Se você quiser que o Database Migration Service faça automaticamente o despejo completo do seu banco de dados de origem, atribua os seguintes privilégios à conta de usuário:
REPLICATION SLAVEEXECUTEREPLICATION CLIENTSELECTSHOW VIEWTRIGGER- Para origens com a configuração
GTID_MODE = ON:RELOADCom o fluxo de despejo gerenciado, o Database Migration Service exige a configuração
GTID_MODE = ONsomente quando você migra para uma instância de destino atual que tem réplicas de leitura ativadas. - Para as versões 8.0 ou mais recentes do MySQL de origem:verifique se a conta de migração
não tem o privilégio
BACKUP_ADMIN.
Despejo manual
Se você fornecer seus próprios arquivos dump criados com
mysqldump, será necessário fornecer os privilégios exigidos para a fase de CDC:
A seguir
Para um tutorial completo e detalhado sobre migrações homogêneas do Cloud SQL para MySQL, consulte Primeiros passos com as migrações do Cloud SQL para MySQL.