Resolva um problema
O processo da tarefa de migração pode incorrer em erros durante o tempo de execução.
- Alguns erros, como uma palavra-passe incorreta na base de dados de origem, são recuperáveis, o que significa que podem ser corrigidos e a tarefa de migração é retomada automaticamente.
- Alguns são irrecuperáveis, como uma posição de binlog perdida, o que significa que a tarefa de migração tem de ser reiniciada desde o início.
Quando ocorre um erro, o estado da tarefa de migração muda para Failed
e o subestado reflete o último estado antes da falha.
Para resolver um erro, navegue para a tarefa de migração com falha para ver o erro e siga os passos descritos na mensagem de erro.
Para ver mais detalhes sobre o erro, navegue para o Cloud Monitoring através do link na tarefa de migração. Os registos são filtrados para a tarefa de migração específica.
Na tabela seguinte, pode encontrar alguns exemplos de problemas e como podem ser resolvidos:
Para este problema… | O problema pode ser... | Experimente isto… |
---|---|---|
As definições da base de dados de destino são diferentes da configuração do Terraform usada para aprovisionar a base de dados. (Este problema também é, por vezes, denominado desvio de configuração.) | Quando migra para uma base de dados de destino existente, o Database Migration Service modifica determinadas definições da base de dados de destino para executar a tarefa de migração. | Tem de voltar a aplicar as definições que usa na configuração do Terraform depois de promover a tarefa de migração. Consulte o artigo Desvio da configuração do Terraform. |
Mensagem de erro: Error processing table {table_name}: MySQL Error 1118
(42000): Row size too large (>8126). |
As tabelas que usam colunas VARCHAR podem ter linhas que excedem o tamanho máximo permitido pelo InnoDB (o motor de armazenamento predefinido usado no MySQL). |
Pode desbloquear a tarefa de migração convertendo colunas em BLOB ou TEXT,
ou definindo temporariamente a flag
innodb_strict_mode como off .
Consulte o Erro 1118: tamanho da linha demasiado grande. |
A tarefa de migração falhou durante a fase de descarga completa com a seguinte mensagem de erro:ERROR 1064 (42000) at {line_number}: You have an error in your
SQL syntax; check the manual that corresponds to your MySQL server version for
the right syntax to use near {reserved_word} at {line_number}.
|
Este problema ocorre quando migra entre versões do MySQL.
As entidades na sua versão do MySQL de origem podem estar a usar palavras que não são permitidas na versão do MySQL para a qual quer migrar.
Por exemplo, no MySQL 5.7, pode usar a palavra |
Mude o nome dos objetos da base de dados de origem referenciados na mensagem de erro ou coloque-os entre acentos graves (`` ) para ignorar a sintaxe. Quando estiver concluída, volte a tentar
a tarefa de migração.
|
Mensagem de erro: ERROR 1109 (42S02): Unknown table in <schema name here> |
O Database Migration Service não migra os esquemas do sistema mysql ,
performance_schema , information_schema ,
ndbinfo ou sys .
A tarefa de migração pode falhar se a base de dados de origem contiver objetos que referenciam tabelas de qualquer um destes esquemas. |
Verifique na base de dados de origem se existem objetos que referenciam tabelas contidas em esquemas do sistema que não foram migrados. Consulte ERROR 1109 (42S02): Unknown table in <schema name here>. |
Mensagem de erro: Unknown table 'COLUMN_STATISTICS' in information_schema (1109) |
Relevante apenas para cenários de descarga manual da base de dados com mysqldump .As bases de dados MySQL em versões anteriores à 8 não têm a tabela COLUMN_STATISTICS. O utilitário |
Use a flag --column-statistics=0 quando usar o mysqldump . |
Mensagem de erro: Specified key was too long; max key length is 767 bytes . |
A instância da base de dados de origem pode ter a variável innodb_large_prefix definida. |
Defina a flag innodb_large_prefix como ON quando criar a instância de destino ou atualize a instância de destino existente com a flag. |
Mensagem de erro: Table definition has changed . |
Foram feitas alterações à linguagem de definição de dados (LDD) durante o processo de descarga. | Evite alterações de DDL durante o processo de descarga. |
Mensagem de erro: Access denied; you need (at least one of) the SUPER privilege(s) for this operation . |
Pode existir um evento, uma vista, uma função ou um procedimento na base de dados de origem que use super user@localhost (como root@localhost). Isto não é suportado pelo Cloud SQL. | Consulte mais informações sobre a utilização do DEFINER no Cloud SQL. |
Mensagem de erro: Definer user 'x' does not exist. Please create the user on the replica.
|
O utilizador não existe na réplica. | Consulte mais informações sobre a utilização do DEFINER no Cloud SQL. |
Mensagem de erro: ERROR 1045 (28000) at line {line_number}: Access denied for user 'cloudsqlimport'@'localhost . |
Existe um DEFINER na base de dados de origem que não existe na réplica. |
Consulte mais informações sobre a utilização do DEFINER no Cloud SQL. |
Mensagem de erro: Lost connection to MySQL server during query when dumping table . |
A base de dados de origem pode ter ficado inacessível ou o despejo continha pacotes demasiado grandes. | Experimente estas sugestões. |
Mensagem de erro: Got packet bigger than 'max_allowed_packet' bytes when dumping table . |
O pacote era maior do que o permitido pelas definições. | Use a descarga manual com a opção max_allowed_packet . |
A migração de dados inicial foi bem-sucedida, mas não está a ser feita a replicação de dados. | Podem existir sinalizações de replicação em conflito. | Verifique estas definições de flags. |
A migração de dados inicial foi bem-sucedida, mas a replicação de dados deixou de funcionar após algum tempo. | Podem existir várias causas. | Experimente estas sugestões. |
Mensagem de erro: mysqld check failed: data disk is full . |
O disco de dados da instância de destino está cheio. | Aumente o tamanho do disco da instância de destino. Pode aumentar manualmente o tamanho do disco ou ativar o aumento automático do armazenamento. |
Falha ao estabelecer ligação à instância da base de dados de origem. | Ocorreu um problema de conetividade entre a instância da base de dados de origem e a instância de destino. | Siga os passos no artigo sobre resolução de problemas de conetividade. |
A migração de uma base de dados gerida (Amazon RDS/Aurora) não é iniciada. | A migração de uma base de dados de origem gerida sem privilégios de SUPERUSER requer uma breve inatividade no início da migração. | Siga os passos neste artigo. |
O registo binário está configurado incorretamente na base de dados de origem. | As definições do Binlog estão incorretas. | Para tarefas de migração contínuas do MySQL, certifique-se de que segue as definições de binlog necessárias. |
Falha ao encontrar o ficheiro de despejo. | O DMS não consegue encontrar o ficheiro de despejo fornecido. | Isto pode acontecer se a tarefa de migração não conseguir encontrar o ficheiro de despejo na localização indicada.
|
Não é possível retomar a replicação porque a posição do registo binário foi perdida. | A posição do binlog foi perdida e não foi possível retomar a tarefa de migração. | Este erro pode ocorrer quando o processo de replicação é pausado durante muito tempo, o que faz com que a posição do binlog seja perdida. As tarefas de migração não devem ser pausadas durante períodos que se aproximem do período de retenção do binlog. Reinicie a tarefa de migração. |
Quando migra para
uma instância de destino existente, recebe a seguinte mensagem de erro:
The destination instance contains existing data or user defined
entities (for example databases, tables, or functions). You can only
migrate to empty instances. Clear your destination instance and retry
the migration job.
|
A instância do Cloud SQL de destino contém dados adicionais. Só pode migrar para instâncias existentes que estejam vazias. Consulte as Limitações conhecidas. | Promova a instância de destino para a tornar uma instância de leitura/escrita, remova os dados adicionais e tente novamente a tarefa de migração. Consulte Limpe dados adicionais da instância de destino existente. |
Falha na execução da tarefa de migração devido a versões de base de dados de origem e de destino incompatíveis. | A versão da base de dados de origem fornecida é incompatível com a versão da base de dados de destino. | Certifique-se de que a versão da base de dados de destino é igual ou uma versão principal superior à versão de destino de origem e, em seguida, crie uma nova tarefa de migração. |
Mensagem de erro: Unable to connect to source database server.
|
O serviço de migração de bases de dados não consegue estabelecer uma ligação ao servidor da base de dados de origem. | Certifique-se de que as instâncias da base de dados de origem e de destino conseguem comunicar entre si e que concluiu todos os pré-requisitos necessários que apareceram quando definiu as definições da tarefa de migração. |
Mensagem de erro: Timeout waiting for no write traffic on source.
|
A migração a partir de uma base de dados de origem gerida sem privilégios de SUPERUSER resulta numa breve inatividade no início da migração. |
Siga os passos em Migrar do RDS MySQL sem privilégios de SUPERUSER. |
Mensagem de erro: ERROR 1146 (42S02) at line {line_number}: Table '{table_name}' doesn't exist.
|
Pode existir uma inconsistência entre o valor da flag lower_case_table_names para a base de dados de origem e o valor da flag para a instância do Cloud SQL de destino. |
Defina o valor da sinalização para a instância do Cloud SQL de modo a corresponder ao valor da sinalização para a base de dados de origem. |
Mensagem de erro: ERROR 1109 (42S02) at line {line_number}: Unknown table '{table}' in {database}.
|
Alguns objetos na base de dados de origem, como vistas, funções, procedimentos armazenados ou acionadores, fazem referência a uma tabela que já não existe na base de dados. | Verifique se estes objetos existem. Se o fizerem, elimine os objetos da base de dados de origem ou adicione a tabela à qual os objetos estão a fazer referência à base de dados de origem. |
Mensagem de erro: ERROR 1045: Access denied for user '{user_name}'@'{replica_IP}' (using password: YES)". Check if MySQL replication user and password are correct. Not attempting further retries. |
Indicou uma palavra-passe incorreta para a instância de origem. Em alternativa, a instância de origem força uma ligação SSL. No entanto, a tarefa de migração não está configurada para usar certificações SSL. | Confirme se o nome de utilizador, a palavra-passe e as definições de SSL estão corretos para a instância de origem usando o cliente Se a instância de origem for o Cloud SQL, consulte o artigo Requerer SSL/TLS para verificar se o SSL/TLS é necessário para ligações TCP. |
O atraso de replicação é consistentemente elevado. | A carga de escrita é demasiado elevada para a réplica processar. O atraso na replicação ocorre quando o comando do Cloud SQL para MySQL numa réplica não consegue acompanhar o comando de E/S. Alguns tipos de consultas ou cargas de trabalho podem causar um atraso de replicação elevado temporário ou permanente para um determinado esquema. Algumas causas típicas do atraso na replicação são:
|
Algumas soluções possíveis incluem:
|
Mensagem de erro: 'Character set '#255' is not a compiled character set and is not specified in the '/usr/share/mysql/charsets/Index.xml' file' on query. |
A base de dados de origem pode usar conjuntos de carateres ou ordenações que não são suportados pela réplica do Cloud SQL selecionada. Um exemplo é a versão 2.x do AWS Aurora, que é compatível com o MySQL 5.7. No entanto, esta versão suporta a ordenação utf8mb4_0900_as_ci , que não é suportada no Cloud SQL para MySQL 5.7. |
|
Erro 1108: o tamanho da linha é demasiado grande
As tabelas com colunas que armazenam strings de comprimento variável podem ter linhas que excedem o tamanho máximo de linhas do InnoDB predefinido.Coisas a experimentar
Ajuste o esquema da tabela de origem
Este problema pode ocorrer novamente sempre que executar declarações INSERT nas tabelas que excedem o limite máximo de linhas. Para evitar problemas futuros, é melhor ajustar as tabelas antes de tentar novamente a migração:
- Altere a sua tabela
ROW_FORMAT
paraDYNAMIC
ouCOMPRESSED
executando a seguinte consulta: Onde:ALTER TABLE TABLE_NAME ROW_FORMAT=FORMAT_NAME;
- TABLE_NAME é o nome da tabela cujas linhas excedem o limite máximo de tamanho das linhas
- FORMAT_NAME é
DYNAMIC
ouCOMPRESSED
ALTER TABLE mytable ROW_FORMAT=DYNAMIC;
- Converta os dados das linhas em BLOB ou TEXT. Uma forma de alcançar esta operação
é com a
função
CONVERT()
.
Desative o modo rigoroso do InnoDB
Se não for possível ajustar o esquema da tabela de origem, pode desativar temporariamente a validação do InnoDB para concluir a tarefa de migração. Tenha em atenção que o problema pode ocorrer novamente em futuras tentativas de escrita na base de dados. Por isso, é melhor ajustar o esquema da tabela sempre que possível.
Para desativar temporariamente a validação do InnoDB para concluir a tarefa de migração, siga estes passos:
Se... | Depois... |
---|---|
Se migrar para uma nova instância de destino |
|
Se migrar para uma instância de destino existente |
|
Limpe dados adicionais da instância de destino existente
Quando migra para
uma instância de destino existente, recebe a seguinte mensagem de erro:
The destination instance contains existing data or user defined
entities (for example databases, tables, or functions). You can only
migrate to empty instances. Clear your destination instance and retry
the migration job.
Este problema pode ocorrer se a instância de destino contiver dados adicionais. Só pode migrar para instâncias existentes que estejam vazias. Consulte as Limitações conhecidas.
Coisas a experimentar
Limpe os dados adicionais da instância de destino e inicie novamente a tarefa de migração seguindo estes passos:
- Pare a tarefa de migração.
- Neste ponto, a instância do Cloud SQL de destino está no modo
read-only
. Promova a instância de destino para obter acesso de escrita. - Estabeleça ligação à instância do Cloud SQL de destino.
- Remova dados adicionais das bases de dados da instância de destino. O destino só pode conter dados de configuração do sistema. As bases de dados de destino não podem conter dados do utilizador (como tabelas). Existem diferentes declarações SQL que pode executar nas suas bases de dados para encontrar dados não relacionados com o sistema, por exemplo:
SELECT schema_name FROM information_schema.SCHEMATA WHERE schema_name NOT IN ('information_schema', 'sys', 'performance_schema', 'mysql');
- Inicie a tarefa de migração.
Deriva da configuração do Terraform
Quando migra para uma base de dados de destino existente, o Database Migration Service modifica determinadas definições da base de dados de destino para executar a tarefa de migração. Para bases de dados aprovisionadas com o Terraform, esta interação pode causar uma derivação da configuração em que a configuração real da base de dados de destino é diferente da configuração definida nos seus ficheiros do Terraform.Coisas a experimentar
Não tente voltar a aplicar a configuração do Terraform quando a tarefa de migração estiver em execução. Pode ajustar com segurança a configuração necessária depois de a base de dados de destino ser promovida. O Database Migration Service faz as seguintes modificações à instância do Cloud SQL de destino:- A configuração de cópia de segurança está definida para os valores predefinidos.
- Arecuperação pontual é reposta para os valores predefinidos.
ERROR 1109 (42S02): Unknown table in <schema name here>
As tarefas de migração falham com a seguinte mensagem:
ERROR 1109 (42S02): Unknown table in <schema name here>
, por exemplo: ERROR 1109 (42S02) at line X: Unknown table 'GLOBAL_STATUS' in information_schema
.
O problema pode ser
O Database Migration Service não migra os esquemas do sistema mysql
,
performance_schema
, information_schema
,
ndbinfo
ou sys
(consulte as
limitações conhecidas).
A tarefa de migração pode falhar se a base de dados de origem contiver objetos que referenciam tabelas de qualquer um destes esquemas.
Coisas a experimentar
Verifique na base de dados de origem se existem objetos que referenciam tabelas dos esquemas do sistema. Na base de dados de origem, execute as seguintes consultas:# Query to check routines or functions definitions. SELECT ROUTINE_SCHEMA, ROUTINE_NAME FROM information_schema.routines WHERE ROUTINE_SCHEMA NOT IN ('information_schema', 'mysql', 'ndbinfo', 'performance_schema', 'sys') AND ROUTINE_DEFINITION like '%OBJECT_NAME_REPORTED_IN_THE_ERROR_MESSAGE%' # Query to check view definitions. SELECT TABLE_SCHEMA, TABLE_NAME FROM information_schema.views WHERE TABLE_SCHEMA NOT IN ('information_schema', 'mysql', 'ndbinfo', 'performance_schema', 'sys') AND view_definition like '%OBJECT_NAME_REPORTED_IN_THE_ERROR_MESSAGE%' # Query to check trigger definitions. SELECT TRIGGER_SCHEMA, TRIGGER_NAME FROM information_schema.TRIGGERS WHERE TRIGGER_SCHEMA NOT IN ('information_schema', 'mysql', 'ndbinfo', 'performance_schema', 'sys') AND event_object_table = 'OBJECT_NAME_REPORTED_IN_THE_ERROR_MESSAGE' # Query to check constraint definitions. SELECT TABLE_SCHEMA, TABLE_NAME FROM information_schema.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA NOT IN ('information_schema', 'mysql', 'ndbinfo', 'performance_schema', 'sys') AND REFERENCED_TABLE_NAME = 'OBJECT_NAME_REPORTED_IN_THE_ERROR_MESSAGE'
Tabela desconhecida "COLUMN_STATISTICS" em information_schema
Quando executa a utilidade mysqldump
versão 8 ou posterior para exportar uma base de dados MySQL com uma versão anterior à 8, ocorre este erro: Unknown table 'COLUMN_STATISTICS' in information_schema (1109)
.
O problema pode ser
As bases de dados MySQL em versões anteriores à 8 não têm a tabela COLUMN_STATISTICS. O utilitário mysqldump
nas versões 8 e posteriores tenta exportar esta tabela por predefinição. A exportação falha porque a coluna não existe.
Coisas a experimentar
Adicione a flag --column-statistics=0
ao comando mysqldump
para remover a tabela COLUMN_STATISTICS
da exportação. Para mais informações, consulte o artigo Exportar uma base de dados MySQL com o mysqldump.
A chave especificada era demasiado longa. O comprimento máximo da chave é de 767 bytes
É apresentado o erro Specified key was too long; max key length is 767 bytes.
O problema pode ser
A base de dados de origem pode ter a variável innodb_large_prefix definida. Isto permite prefixos de chaves de índice com mais de 767 bytes. O valor predefinido é OFF
para o MySQL 5.6.
Coisas a experimentar
Defina a flag innodb_large_prefix
como ON
quando criar a base de dados de destino ou atualize a base de dados de destino existente com a flag.
A definição da tabela foi alterada
É apresentado o erro Table definition has changed
.
O problema pode ser
Foram feitas alterações à DDL durante o processo de descarga.
Coisas a experimentar
Não modifique tabelas nem faça outras alterações de DDL durante o processo de descarga.Pode usar um script para verificar se as operações de DDL estão paradas.
Acesso recusado. Precisa de (pelo menos um dos) privilégios SUPER para esta operação
É apresentado o erro Access denied; you need (at least one of) the SUPER privilege(s) for this operation
.
O problema pode ser
Pode existir um evento, uma vista, uma função ou um procedimento na base de dados de origem a usar super user@localhost (como root@localhost). Isto não é suportado pelo Cloud SQL.
Coisas a experimentar
Consulte este documento sobre a migração de uma base de dados com cláusulas DEFINER
.
Mensagem de erro: Definer user 'x' does not exist. Please create the user on the replica.
É apresentado o erro Definer user 'x' does not exist. Please create the user on the replica.
O problema pode ser
A causa principal é que um utilizador na base de dados de origem com a cláusula
DEFINER
não existe na base de dados de réplica.
Coisas a experimentar
Consulte este documento sobre a migração de uma base de dados com cláusulas DEFINER
. Pode ter de criar o utilizador na base de dados de réplica.
Mensagem de erro: ERROR 1045 (28000) at line {line_number}: Access denied for user 'cloudsqlimport'@'localhost
É apresentado o erro ERROR 1045 (28000) at line {line_number}: Access denied for user 'cloudsqlimport'@'localhost
.
O problema pode ser
A causa principal é que um utilizador na base de dados de origem com a cláusula
DEFINER
não existe na base de dados de réplica e esse utilizador
é referenciado nas definições de objetos na base de dados de origem.
Coisas a experimentar
Consulte este documento sobre a migração de uma base de dados com cláusulas DEFINER
. Pode ter de
criar um ou mais utilizadores na base de dados de réplica.
Ligação ao servidor MySQL perdida durante a consulta ao despejar a tabela
É apresentado o erro Lost connection to MySQL server during query when dumping table
.
O problema pode ser
- A instância de base de dados de origem pode ter ficado inacessível a partir da instância de destino.
- A base de dados de origem pode ter tabelas com grandes objetos binários ou strings longas que requerem a definição de
max_allowed_packet
para um número maior na base de dados de origem.
Coisas a experimentar
- Verifique se a instância da base de dados de origem está ativa e acessível.
- Configure a flag
max-allowed-packet
no trabalho de migração e, em seguida, reinicie o trabalho de migração. Em alternativa, gere um despejo manual com a opçãomax_allowed_packet
para despejar os dados e migrar com o ficheiro de despejo. - Aumentar o valor de
max_allowed_packet
requer, muito provavelmente, ajustar as definições denet_read_timeout
enet_write_timeout
na base de dados de origem (geralmente, deve ser aumentado até o erro de ligação parar).
Got packet bigger than 'max_allowed_packet' bytes when dumping table
É apresentado o erro Got packet bigger than 'max_allowed_packet' bytes when dumping table
.
O problema pode ser
O pacote era maior do que o permitido pelas definições.
Coisas a experimentar
Crie uma tarefa de migração usando um despejo manual com a opção max_allowed_packet
para despejar os dados e migrar com o ficheiro de despejo.
Não estão a ser replicados dados
A migração de dados inicial foi bem-sucedida, mas não está a ser feita a replicação de dados.
O problema pode ser
Uma possível causa principal pode ser a existência de flags de replicação na base de dados de origem que impedem a replicação de algumas ou todas as alterações da base de dados.
Coisas a experimentar
Certifique-se de que as flags de replicação, como binlog-do-db
, binlog-ignore-db
, replicate-do-db
ou replicate-ignore-db
, não estão definidas de forma conflituosa.
Execute o comando show master status
na base de dados de origem para ver as definições atuais.
A migração de dados inicial foi bem-sucedida, mas a replicação de dados deixou de funcionar após algum tempo
A migração de dados inicial foi bem-sucedida, mas a replicação de dados deixou de funcionar após algum tempo.
O problema pode ser
Existem várias causas principais para este problema.
Coisas a experimentar
- Verifique as métricas de replicação da instância de destino na IU do Cloud Monitoring.
- Pode encontrar os erros do thread de E/S do MySQL ou do thread SQL no Registo na nuvem nos ficheiros de registo mysql.err.
- Também pode encontrar o erro ao estabelecer ligação à instância de destino. Execute o comando
SHOW REPLICA STATUS
e verifique se estes campos estão na saída:- Replica_IO_Running
- Replica_SQL_Running
- Last_IO_Error
- Last_SQL_Error
Nota:
SHOW REPLICA STATUS
é um alias introduzido no MySQL 8.0.22. Para versões anteriores (MySQL 5.7 e MySQL 8.0), use o alias antigo do comando de estado. Para mais informações, consulte a declaração de estado na documentação do MySQL.Se recebeu o erro
fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file' in Last_IO_Error
, isto pode dever-se a uma definição de retenção de binlogs insuficiente na instância de origem.Se recebeu o erro
error connecting to master 'USER_NAME@SOURCE_HOST:SOURCE_PORT' - retry-time: RETRY_TIME retries: RETRIES
, tal pode dever-se ao facto de a instância de destino não conseguir voltar a ligar-se à origem devido a um problema de conetividade ou autenticação.
Falha na verificação do mysqld: o disco de dados está cheio
É apresentado o erro mysqld check failed: data disk is full
.
O problema pode ser
O disco de dados da instância de destino está provavelmente cheio.
Coisas a experimentar
Aumente o tamanho do disco da instância de destino.
Falha ao estabelecer ligação à base de dados de origem
Falha ao estabelecer ligação à base de dados de origem.
O problema pode ser
Ocorreu um problema de conetividade entre a instância da base de dados de origem e a instância de destino.
Coisas a experimentar
Siga os passos no artigo de depuração da conetividade.
A migração de uma base de dados gerida (Amazon RDS/Aurora) não é iniciada
A tarefa de migração não é iniciada.
O problema pode ser
A migração de uma base de dados de origem gerida sem privilégios de SUPERUSER
requer um breve período de inatividade no início da migração.
Coisas a experimentar
- Para o Amazon RDS, siga os passos neste artigo.
- Para o Amazon Aurora, siga os passos neste artigo.
O Binlog está configurado incorretamente na base de dados de origem
É apresentado um erro que indica um problema com os registos binários.
O problema pode ser
Isto pode acontecer para tarefas de migração contínuas do MySQL se a configuração do binlog estiver incorreta na base de dados de origem.
Coisas a experimentar
Certifique-se de que segue as definições aqui.
Falha ao ler o ficheiro de despejo fornecido
É apresentado um erro que indica um problema com o ficheiro de despejo.
O problema pode ser
O DMS não consegue encontrar o ficheiro de despejo fornecido.
Coisas a experimentar
- Verifique o caminho do despejo para garantir que existe um ficheiro adequado ou altere o caminho
- Se alterar o caminho, use um pedido
PATCH
para garantir que a tarefa o usa. - Reinicie a tarefa de migração.
Não é possível retomar a replicação porque a posição do registo binário foi perdida
A posição do binlog foi perdida.
O problema pode ser
Este erro pode ocorrer quando o processo de replicação é pausado durante muito tempo, o que faz com que a posição do binlog seja perdida. As tarefas de migração não devem ser pausadas durante períodos que se aproximem do período de retenção do binlog.
Coisas a experimentar
Reinicie a tarefa de migração.
Falha na execução da tarefa de migração devido a versões de base de dados de origem e de destino incompatíveis
As versões da base de dados de origem e de destino não são uma combinação suportada.
O problema pode ser
A versão da base de dados de origem fornecida é incompatível com a versão da base de dados de destino.
Coisas a experimentar
Certifique-se de que a versão da base de dados de destino é igual ou uma versão principal superior à versão de destino de origem e, em seguida, crie uma nova tarefa de migração.
Não é possível estabelecer ligação ao servidor da base de dados de origem
É apresentado o erro Unable to connect to source database server
.
O problema pode ser
O serviço de migração de bases de dados não consegue estabelecer uma ligação ao servidor da base de dados de origem.
Coisas a experimentar
Verifique se as instâncias da base de dados de origem e de destino conseguem comunicar entre si. Em seguida, certifique-se de que concluiu todos os pré-requisitos necessários que apareceram quando definiu as definições da tarefa de migração.
A utilização do disco da instância de destino do Cloud SQL desce para zero
A utilização do disco diminui subitamente para zero durante a migração.
O problema pode ser
Pode ocorrer uma falha ao importar os dados de despejo completos. Quando isto acontece, o processo de migração tenta fazer outro carregamento dos dados. Este processo apaga primeiro os dados existentes na instância de destino (é por isso que vê a utilização do disco a diminuir para zero) e, em seguida, tenta recarregar os dados.
Coisas a experimentar
Aceda ao Explorador de registos e selecione a instância de destino na lista de recursos.
Procure uma mensagem de registo semelhante:
DUMP_STAGE(RETRY): Attempt .../...: import failed: error..."; Clearing database and trying again."
Encontre a mensagem após o texto import failed:
e tente resolver o problema subjacente.