Risolvere un problema
Il processo del job di migrazione potrebbe generare errori durante l'esecuzione.
- Alcuni errori, ad esempio una password errata nel database di origine, sono recuperabili, il che significa che possono essere corretti e il job di migrazione riprende automaticamente.
- Alcuni non sono recuperabili, ad esempio la perdita della posizione binlog, il che significa che il job di migrazione deve essere riavviato dall'inizio.
Quando si verifica un errore, lo stato del job di migrazione diventa Failed
e lo stato secondario riflette l'ultimo stato prima dell'errore.
Per risolvere un problema, vai al job di migrazione non riuscito per visualizzare l'errore e segui i passaggi descritti nel messaggio di errore.
Per visualizzare ulteriori dettagli sull'errore, vai a Cloud Monitoring utilizzando il link nel job di migrazione. I log vengono filtrati in base al job di migrazione specifico.
Nella tabella seguente sono riportati alcuni esempi di problemi e le relative soluzioni:
Per questo problema… | Il problema potrebbe essere… | Prova a fare così… |
---|---|---|
Le impostazioni del database di destinazione sono diverse dalla configurazione Terraform utilizzata per il provisioning del database. Questo problema è a volte definito anche deviazione di configurazione. | Quando esegui la migrazione a un database di destinazione esistente, Database Migration Service modifica determinate impostazioni del database di destinazione per eseguire il job di migrazione. | Devi applicare di nuovo le impostazioni utilizzate nella configurazione Terraform dopo aver promosso il job di migrazione. Consulta Drift della configurazione Terraform. |
Messaggio di errore: Error processing table {table_name}: MySQL Error 1118
(42000): Row size too large (>8126). |
Le tabelle che utilizzano colonne VARCHAR potrebbero avere righe che superano
la dimensione massima consentita da InnoDB
(il motore di archiviazione predefinito utilizzato in MySQL). |
Puoi sbloccare il job di migrazione convertendo le colonne in BLOB o TEXT oppure impostando temporaneamente il flag
innodb_strict_mode su off .
Consulta Errore 1118: dimensioni delle righe troppo grandi. |
Il job di migrazione non è riuscito durante la fase di dump completo con il seguente messaggio di errore: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}.
|
Questo problema si verifica durante la migrazione tra versioni di MySQL.
Le entità nella versione MySQL di origine potrebbero utilizzare parole non consentite
nella versione MySQL a cui vuoi eseguire la migrazione.
Ad esempio, in MySQL 5.7 puoi utilizzare la parola |
Rinomina gli oggetti del database di origine a cui viene fatto riferimento nel messaggio di errore o inseriscili tra apici inversi (`` ) per eseguire l'escapismo della sintassi. Al termine, riprova
a eseguire il job di migrazione.
|
Messaggio di errore: ERROR 1109 (42S02): Unknown table in <schema name here> |
Database Migration Service non esegue la migrazione degli schemi di sistema mysql ,
performance_schema , information_schema ,
ndbinfo o sys .
Il job di migrazione potrebbe non riuscire se il database di origine contiene oggetti che fanno riferimento a tabelle di uno di questi schemi. |
Controlla il database di origine per verificare la presenza di oggetti che fanno riferimento alle tabelle contenute in uno degli schemi di sistema di cui non è stata eseguita la migrazione. Consulta ERRORE 1109 (42S02): tabella sconosciuta in <schema name here>. |
Messaggio di errore: Unknown table 'COLUMN_STATISTICS' in information_schema (1109) |
Rilevante per gli scenari di dump del database manuale solo con mysqldump .I database MySQL nelle versioni precedenti alla 8 non hanno la tabella COLUMN_STATISTICS. L'utilità |
Utilizza il flag --column-statistics=0 quando utilizzi mysqldump . |
Messaggio di errore: Specified key was too long; max key length is 767 bytes . |
L'istanza del database di origine potrebbe avere la variabile innodb_large_prefix impostata. |
Imposta il flag innodb_large_prefix su ON quando crei l'istanza di destinazione o aggiorna l'istanza di destinazione esistente con il flag. |
Messaggio di errore: Table definition has changed . |
Durante il processo di dump sono state apportate modifiche al linguaggio di definizione dei dati (DDL). | Evita modifiche DDL durante il processo di dump. |
Messaggio di errore: Access denied; you need (at least one of) the SUPER privilege(s) for this operation . |
Nel database di origine potrebbe essere presente un evento, una vista, una funzione o una procedura che utilizza l'utente super user@localhost (ad esempio root@localhost). Questa operazione non è supportata da Cloud SQL. | Consulta ulteriori informazioni sull'utilizzo di DEFINER in Cloud SQL. |
Messaggio di errore: Definer user 'x' does not exist. Please create the user on the replica.
|
L'utente non esiste nella replica. | Consulta ulteriori informazioni sull'utilizzo di DEFINER in Cloud SQL. |
Messaggio di errore: ERROR 1045 (28000) at line {line_number}: Access denied for user 'cloudsqlimport'@'localhost . |
Nel database di origine è presente un DEFINER che non esiste nella replica. |
Consulta ulteriori informazioni sull'utilizzo di DEFINER in Cloud SQL. |
Messaggio di errore: Lost connection to MySQL server during query when dumping table . |
Il database di origine potrebbe non essere più raggiungibile o il dump potrebbe contenere pacchetti troppo grandi. | Prova questi suggerimenti. |
Messaggio di errore: Got packet bigger than 'max_allowed_packet' bytes when dumping table . |
Il pacchetto era più grande di quanto consentito dalle impostazioni. | Utilizza il dump manuale con l'opzione max_allowed_packet . |
La migrazione iniziale dei dati è riuscita, ma non viene replicato alcun dato. | Potrebbero esserci flag di replica in conflitto. | Controlla queste impostazioni dei flag. |
La migrazione iniziale dei dati è riuscita, ma la replica dei dati ha smesso di funzionare dopo un po' di tempo. | Potrebbero esserci molte cause. | Prova questi suggerimenti. |
Messaggio di errore: mysqld check failed: data disk is full . |
Il disco di dati dell'istanza di destinazione è pieno. | Aumenta le dimensioni del disco dell'istanza di destinazione. Puoi aumentare manualmente le dimensioni del disco o attivare l'aumento automatico dello spazio di archiviazione. |
Impossibile connettersi all'istanza del database di origine. | Si è verificato un problema di connettività tra l'istanza del database di origine e l'istanza di destinazione. | Segui i passaggi descritti nell'articolo sul debug della connettività. |
La migrazione da un database gestito (Amazon RDS/Aurora) non si avvia. | La migrazione da un database di origine gestito senza privilegi SUPERUSER richiede un breve tempo di inattività all'inizio della migrazione. | Segui la procedura descritta in questo articolo. |
Binlog non è configurato correttamente nel database di origine. | Le definizioni del log bin non sono corrette. | Per i job di migrazione MySQL continui, assicurati di seguire le definizioni dei log bin obbligatorie. |
Impossibile trovare il file dump. | DMS non riesce a trovare il file dump fornito. | Questo può accadere se il job di migrazione non riesce a trovare il file dump nella posizione specificata.
|
Impossibile riprendere la replica perché la posizione del log bin è andata persa. | La posizione del file binlog è andata persa e non è stato possibile riprendere il job di migrazione. | Questo errore può verificarsi quando il processo di replica viene messo in pausa per molto tempo, causando la perdita della posizione del file binlog. I job di migrazione non devono essere messi in pausa per periodi di tempo che si avvicinano al periodo di conservazione dei file binlog. Riavviare il job di migrazione. |
Quando esegui la migrazione a
un'istanza di destinazione esistente, ricevi il seguente messaggio di errore:
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.
|
L'istanza Cloud SQL di destinazione contiene dati aggiuntivi. Puoi eseguire la migrazione solo a istanze esistenti vuote. Consulta Limitazioni note. | Esegui la promozione dell'istanza di destinazione in modo da renderla di lettura/scrittura, rimuovi i dati aggiuntivi e riprova a eseguire il job di migrazione. Consulta Eliminare i dati aggiuntivi dall'istanza di destinazione esistente. |
Errore durante l'esecuzione del job di migrazione a causa di versioni del database di origine e di destinazione incompatibili. | La versione del database di origine fornita non è compatibile con la versione del database di destinazione. | Assicurati che la versione del database di destinazione sia la stessa o una versione principale superiore alla versione di destinazione di origine, quindi crea un nuovo job di migrazione. |
Messaggio di errore: Unable to connect to source database server.
|
Database Migration Service non riesce a stabilire una connessione al server del database di origine. | Assicurati che le istanze del database di origine e di destinazione possano comunicare tra loro e che tu abbia completato tutti i prerequisiti richiesti visualizzati quando hai definito le impostazioni per il job di migrazione. |
Messaggio di errore: Timeout waiting for no write traffic on source.
|
La migrazione da un database di origine gestito senza privilegi SUPERUSER comporta un breve tempo di inattività all'inizio della migrazione. |
Segui i passaggi descritti in Eseguire la migrazione da MySQL RDS senza privilegi SUPERUSER. |
Messaggio di errore: ERROR 1146 (42S02) at line {line_number}: Table '{table_name}' doesn't exist.
|
Potrebbe esserci un'incongruenza tra il valore del flag lower_case_table_names per il database di origine e il valore del flag per l'istanza Cloud SQL di destinazione. |
Imposta il valore del flag per l'istanza Cloud SQL in modo che corrisponda al valore del flag per il database di origine. |
Messaggio di errore: ERROR 1109 (42S02) at line {line_number}: Unknown table '{table}' in {database}.
|
Alcuni oggetti nel database di origine, ad esempio visualizzazioni, funzioni, procedure archiviate o trigger, fanno riferimento a una tabella che non esiste più nel database. | Controlla se questi oggetti esistono. In caso affermativo, elimina gli oggetti dal database di origine o aggiungi la tabella a cui fanno riferimento gli oggetti al database di origine. |
Messaggio di errore: 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. |
Hai fornito una password errata per l'istanza di origine. In alternativa, l'istanza di origine forza una connessione SSL, ma il job di migrazione non è configurato per utilizzare le certificazioni SSL. | Verifica che il nome utente, la password e le impostazioni SSL siano corretti per l'istanza di origine utilizzando il client Se l'istanza di origine è Cloud SQL, consulta Requisiti di SSL/TLS per verificare se SSL/TLS è richiesto per le connessioni TCP. |
Il ritardo nella replica è costantemente elevato. | Il carico di scrittura è troppo elevato per la replica. Il ritardo nella replica si verifica quando il thread Cloud SQL per MySQL su una replica non riesce a tenere il passo con il thread I/O. Alcuni tipi di query o carichi di lavoro possono causare un ritardo di replica elevato temporaneo o permanente per un determinato schema. Ecco alcune cause tipiche del ritardo nella replica:
|
Ecco alcune possibili soluzioni:
|
Messaggio di errore: 'Character set '#255' is not a compiled character set and is not specified in the '/usr/share/mysql/charsets/Index.xml' file' on query. |
Il database di origine potrebbe utilizzare set di caratteri o regole di confronto non supportati dalla replica Cloud SQL selezionata. Un esempio è AWS Aurora versione 2.x, compatibile con MySQL 5.7. Tuttavia, questa versione supporta la collation utf8mb4_0900_as_ci , che non è supportata in Cloud SQL per MySQL 5.7. |
|
Errore 1108: dimensioni della riga troppo grandi
Le tabelle con colonne che memorizzano stringhe di lunghezza variabile possono avere righe che superano la dimensione massima della riga InnoDB predefinita.Cose da provare
Modifica lo schema della tabella di origine
Questo problema può ripresentarsi ogni volta che esegui istruzioni INSERT nelle tabelle che superano il limite di righe di dimensioni massime. Per evitare problemi futuri, è preferibile modificare le tabelle prima di riprovare a eseguire la migrazione:
- Modifica la tabella
ROW_FORMAT
inDYNAMIC
oCOMPRESSED
eseguendo la seguente query: Dove:ALTER TABLE TABLE_NAME ROW_FORMAT=FORMAT_NAME;
- TABLE_NAME è il nome della tabella le cui righe superano il limite massimo di dimensioni
- FORMAT_NAME è
DYNAMIC
oCOMPRESSED
ALTER TABLE mytable ROW_FORMAT=DYNAMIC;
- Converti i dati di riga in BLOB o TEXT. Un modo per eseguire questa operazione è con la
funzione
CONVERT()
.
Disattivare la modalità InnoDB più restrittiva
Se non è possibile modificare lo schema della tabella di origine, puoi disabilitare temporaneamente la convalida InnoDB per completare il job di migrazione. Tieni presente che il problema può ripresentarsi durante i futuri tentativi di scrittura nel database, quindi è meglio modificare lo schema della tabella, se possibile.
Per disattivare temporaneamente la convalida di InnoDB al fine di completare il job di migrazione:
Se… | Poi… |
---|---|
Se esegui la migrazione a una nuova istanza di destinazione |
|
Se esegui la migrazione a un'istanza di destinazione esistente |
|
Cancella i dati aggiuntivi dall'istanza di destinazione esistente
Quando esegui la migrazione a
un'istanza di destinazione esistente, ricevi il seguente messaggio di errore:
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.
Questo problema può verificarsi se l'istanza di destinazione contiene dati aggiuntivi. Puoi eseguire la migrazione solo a istanze esistenti vuote. Consulta Limitazioni note.
Cose da provare
Elimina i dati aggiuntivi dall'istanza di destinazione e avvia di nuovo il job di migrazione svolgendo i seguenti passaggi:
- Interrompi il job di migrazione.
- A questo punto, l'istanza Cloud SQL di destinazione è in modalità
read-only
. Esegui la promozione dell'istanza di destinazione per ottenere l'accesso in scrittura. - Connettiti all'istanza Cloud SQL di destinazione.
- Rimuovi i dati extra dai database delle istanze di destinazione. La destinazione può contenere solo dati di configurazione di sistema. I database di destinazione
non possono contenere dati utente (ad esempio tabelle). Esistono diversi comandi SQL che puoi eseguire sui tuoi database per trovare dati non di sistema, ad esempio:
SELECT schema_name FROM information_schema.SCHEMATA WHERE schema_name NOT IN ('information_schema', 'sys', 'performance_schema', 'mysql');
- Avvia il job di migrazione.
Deriva della configurazione di Terraform
Quando esegui la migrazione a un database di destinazione esistente, Database Migration Service modifica determinate impostazioni del database di destinazione per eseguire il job di migrazione. Per i database di cui è stato eseguito il provisioning con Terraform, questa interazione potrebbe causare una deriva della configurazione in cui la configurazione effettiva del database di destinazione è diversa da quella impostata nei file Terraform.Cose da provare
Non tentare di applicare nuovamente la configurazione di Terraform quando il job di migrazione è in esecuzione. Puoi modificare in sicurezza la configurazione necessaria dopo la promozione del database di destinazione. Database Migration Service esegue le seguenti modifiche all'istanza Cloud SQL di destinazione:- Configurazione di backup è impostata sui valori predefiniti.
- Il recupero point-in-time viene reimpostato sui valori predefiniti.
ERRORE 1109 (42S02): tabella sconosciuta in <schema name here>
I job di migrazione non riescono con il seguente messaggio:
ERROR 1109 (42S02): Unknown table in <schema name here>
, ad esempio: ERROR 1109 (42S02) at line X: Unknown table 'GLOBAL_STATUS' in information_schema
.
Il problema potrebbe essere
Database Migration Service non esegue la migrazione degli schemi di sistema mysql
,
performance_schema
, information_schema
,
ndbinfo
o sys
(consulta
Limitazioni note).
Il job di migrazione potrebbe non riuscire se il database di origine contiene oggetti che fanno riferimento alle tabelle di uno di questi schemi.
Cose da provare
Controlla il database di origine per verificare la presenza di oggetti che fanno riferimento alle tabelle degli schemi di sistema. Nel database di origine, esegui le seguenti query:# 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'
Tabella "COLUMN_STATISTICS" sconosciuta in information_schema
Quando esegui l'utilità mysqldump
versione 8 o successive per esportare una versione del database MySQL precedente alla 8, viene visualizzato questo errore: Unknown table 'COLUMN_STATISTICS' in information_schema (1109)
.
Il problema potrebbe essere
I database MySQL nelle versioni precedenti alla 8 non dispongono della tabella COLUMN_STATISTICS. L'utilità mysqldump
nelle versioni 8 e successive tenta di esportare questa tabella per impostazione predefinita. L'esportazione non riesce perché la colonna non esiste.
Cose da provare
Aggiungi il flag --column-statistics=0
al comando mysqldump
per rimuovere la tabella COLUMN_STATISTICS
dall'esportazione. Per ulteriori informazioni, consulta Esportazione di un database MySQL con mysqldump.
La chiave specificata era troppo lunga; la lunghezza massima della chiave è 767 byte
Viene visualizzato l'errore Specified key was too long; max key length is 767 bytes.
Il problema potrebbe essere
Il database di origine potrebbe avere impostato la variabile innodb_large_prefix. In questo modo è possibile utilizzare prefissi delle chiavi di indice più lunghi di 767 byte. Il valore predefinito è OFF
per MySQL 5.6.
Cose da provare
Imposta il flag innodb_large_prefix
su ON
quando crei il database di destinazione o aggiorna il database di destinazione esistente con il flag.
La definizione della tabella è cambiata
Viene visualizzato l'errore Table definition has changed
.
Il problema potrebbe essere
Sono state apportate modifiche DDL durante la procedura di dump.
Cose da provare
Non modificare le tabelle o eseguire altre modifiche DDL durante la procedura di dump.Puoi utilizzare uno script per verificare che le operazioni DDL siano state interrotte.
Accesso negato. Per questa operazione sono necessari (almeno uno) dei privilegi SUPER
Viene visualizzato l'errore Access denied; you need (at least one of) the SUPER privilege(s) for this operation
.
Il problema potrebbe essere
Nel database di origine potrebbe esserci un evento, una vista, una funzione o una procedura che utilizza l'utente super user@localhost (ad esempio root@localhost). Questa operazione non è supportata da Cloud SQL.
Cose da provare
Consulta questo
documento sulla migrazione di un database con clausole DEFINER
.
Messaggio di errore: Definer user 'x' does not exist. Please create the user on the replica.
Viene visualizzato l'errore Definer user 'x' does not exist. Please create the user on the replica.
Il problema potrebbe essere
La causa principale è che un utente nel database di origine con la clausolaDEFINER
non esiste nel database della replica.
Cose da provare
Consulta questo
documento sulla migrazione di un database con clausole DEFINER
. Potresti dover creare l'utente nel database della replica.
Messaggio di errore: ERROR 1045 (28000) at line {line_number}: Access denied for user 'cloudsqlimport'@'localhost
Viene visualizzato l'errore ERROR 1045 (28000) at line {line_number}: Access denied for user 'cloudsqlimport'@'localhost
.
Il problema potrebbe essere
La causa principale è che un utente nel database di origine con la clausolaDEFINER
non esiste nel database della replica e che questo utente è incrociato nelle definizioni degli oggetti nel database di origine.
Cose da provare
Consulta questo
documento sulla migrazione di un database con clausole DEFINER
. Potresti dover creare uno o più utenti nel database replica.
Connessione al server MySQL persa durante la query durante il dumping della tabella
Viene visualizzato l'errore Lost connection to MySQL server during query when dumping table
.
Il problema potrebbe essere
- L'istanza del database di origine potrebbe non essere più raggiungibile dall'istanza di destinazione.
- Il database di origine potrebbe avere tabelle con blob di grandi dimensioni o stringhe lunghe che richiedono l'impostazione di
max_allowed_packet
su un numero maggiore nel database di origine.
Cose da provare
- Verifica che l'istanza del database di origine sia attiva e raggiungibile.
- Configura il flag
max-allowed-packet
nel job di migrazione e poi riavvialo. In alternativa, genera un dump manuale con l'opzionemax_allowed_packet
per eseguire il dump dei dati ed eseguire la migrazione con il file dump. - L'aumento di
max_allowed_packet
richiederà molto probabilmente la modifica delle impostazioninet_read_timeout
enet_write_timeout
nel database di origine (in genere deve essere aumentato fino a quando l'errore di connessione non si interrompe).
Ricezione di un pacchetto più grande di "max_allowed_packet" byte durante il dump della tabella
Viene visualizzato l'errore Got packet bigger than 'max_allowed_packet' bytes when dumping table
.
Il problema potrebbe essere
Il pacchetto era più grande di quanto consentito dalle impostazioni.
Cose da provare
Crea un job di migrazione utilizzando un dump manuale con l'opzione max_allowed_packet
per eseguire il dump dei dati e la migrazione con il file di dump.
Nessun dato viene replicato
La migrazione iniziale dei dati è riuscita, ma non viene replicato alcun dato.
Il problema potrebbe essere
Una possibile causa principale potrebbe essere che il database di origine abbia flag di replica che impediscono la replica di alcune o di tutte le modifiche al database.
Cose da provare
Assicurati che i flag di replica, come binlog-do-db
, binlog-ignore-db
, replicate-do-db
o replicate-ignore-db
, non siano impostati in modo conflittuale.
Esegui il comando show master status
sul database di origine per visualizzare le impostazioni correnti.
La migrazione iniziale dei dati è riuscita, ma la replica dei dati ha smesso di funzionare dopo un po' di tempo
La migrazione iniziale dei dati è riuscita, ma la replica dei dati ha smesso di funzionare dopo un po' di tempo.
Il problema potrebbe essere
Questo problema può avere molte cause principali.
Cose da provare
- Controlla le metriche di replica per l'istanza di destinazione nell'interfaccia utente di Cloud Monitoring.
- Gli errori del thread IO di MySQL o del thread SQL sono disponibili in Cloud Logging nei file log mysql.err.
- L'errore può essere rilevato anche durante la connessione all'istanza di destinazione. Esegui il comando
SHOW REPLICA STATUS
e controlla la presenza di questi campi nell'output:- Replica_IO_Running
- Replica_SQL_Running
- Last_IO_Error
- Last_SQL_Error
Nota:
SHOW REPLICA STATUS
è un alias introdotto in MySQL 8.0.22. Per le versioni precedenti (MySQL 5.7, MySQL 8.0), utilizza il vecchio alias del comando status. Per ulteriori informazioni, consulta la sezione Indicazioni sullo stato nella documentazione di MySQL.Se hai ricevuto l'errore
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
, il problema potrebbe essere dovuto a un'impostazione di conservazione dei log bin insufficiente nell'istanza di origine.Se hai visualizzato l'errore
error connecting to master 'USER_NAME@SOURCE_HOST:SOURCE_PORT' - retry-time: RETRY_TIME retries: RETRIES
, la causa potrebbe essere la mancata riconnessione dell'istanza di destinazione all'origine a causa di un problema di connettività o autenticazione.
Controllo di mysqld non riuscito: il disco dei dati è pieno
Viene visualizzato l'errore mysqld check failed: data disk is full
.
Il problema potrebbe essere
Il disco di dati dell'istanza di destinazione è probabilmente pieno.
Cose da provare
Aumenta la dimensione del disco dell'istanza di destinazione.
Errore di connessione al database di origine
Connessione al database di origine non riuscita.
Il problema potrebbe essere
Si è verificato un problema di connettività tra l'istanza del database di origine e l'istanza di destinazione.
Cose da provare
Segui i passaggi descritti nell'articolo sul debug della connettività.
La migrazione da un database gestito (Amazon RDS/Aurora) non si avvia
Il job di migrazione non riesce ad avviarsi.
Il problema potrebbe essere
La migrazione da un database di origine gestito senza privilegi SUPERUSER
richiede un breve tempo di inattività all'inizio della migrazione.
Cose da provare
- Per Amazon RDS, segui la procedura descritta in questo articolo.
- Per Amazon Aurora, segui la procedura descritta in questo articolo.
Il log bin non è configurato correttamente nel database di origine
Viene visualizzato un errore che indica un problema con i log binari.
Il problema potrebbe essere
Questo può accadere per i job di migrazione MySQL continui se la configurazione del binlog non è corretta nel database di origine.
Cose da provare
Assicurati di seguire le definizioni riportate qui.
Errore durante la lettura del file di dump fornito
Viene visualizzato un errore che indica un problema con il file dump.
Il problema potrebbe essere
DMS non riesce a trovare il file dump fornito.
Cose da provare
- Controlla il percorso del dump per assicurarti che sia presente un file corretto o modifica il percorso.
- Se modifichi il percorso, utilizza una richiesta
PATCH
per assicurarti che il job lo utilizzi. - Riavviare il job di migrazione.
Impossibile riprendere la replica perché la posizione del log bin è andata persa
La posizione del file binlog è andata persa.
Il problema potrebbe essere
Questo errore può verificarsi quando il processo di replica viene messo in pausa per molto tempo, con la conseguente perdita della posizione del file binlog. I job di migrazione non devono essere messi in pausa per periodi di tempo che si avvicinano al periodo di conservazione dei file binlog.
Cose da provare
Riavviare il job di migrazione.
Errore durante l'esecuzione del job di migrazione a causa di versioni del database di origine e di destinazione incompatibili
Le versioni del database di origine e di destinazione non sono una combinazione supportata.
Il problema potrebbe essere
La versione del database di origine fornita non è compatibile con la versione del database di destinazione.
Cose da provare
Assicurati che la versione del database di destinazione sia la stessa o una versione principale superiore alla versione di destinazione di origine, quindi crea un nuovo job di migrazione.
Impossibile connettersi al server del database di origine
Viene visualizzato l'errore Unable to connect to source database server
.
Il problema potrebbe essere
Database Migration Service non riesce a stabilire una connessione al server del database di origine.
Cose da provare
Verifica che le istanze del database di origine e di destinazione possano comunicare tra loro. Poi, assicurati di aver completato tutti i prerequisiti richiesti visualizzati quando hai definito le impostazioni per il job di migrazione.
L'utilizzo del disco dell'istanza di destinazione Cloud SQL scende a zero
L'utilizzo del disco scende improvvisamente a zero durante la migrazione.
Il problema potrebbe essere
Potrebbe verificarsi un errore durante l'importazione dei dati del dump completo. In questo caso, il processo di migrazione tenta di eseguire un altro caricamento dei dati. Questo processo elimina prima i dati esistenti nell'istanza di destinazione (è per questo che l'utilizzo del disco scende a zero) e poi tenta di ricaricarli.
Cose da provare
Vai a Logs Explorer (Esploratore di log) e seleziona l'istanza di destinazione dall'elenco delle risorse.
Cerca un messaggio di log simile:
DUMP_STAGE(RETRY): Attempt .../...: import failed: error..."; Clearing database and trying again."
Trova il messaggio dopo il testo import failed:
e prova a risolvere il problema sottostante.