Questa pagina descrive come configurare le seguenti istanze di database di origine per le migrazioni MySQL omogenee continue:
- Cloud SQL per MySQL
- MySQL self-hosted
- Amazon RDS per MySQL
- Amazon Aurora per MySQL
- Database di Microsoft Azure per MySQL
Configura un'origine Cloud SQL per MySQL
Per configurare un'istanza di origine Cloud SQL per MySQL per il processo di migrazione, procedi come segue:
- Controlla se il database di origine contiene metadati definiti dagli utenti
con la clausola
DEFINER. Consulta Verificare i metadati con una clausolaDEFINER.Database Migration Service per le migrazioni MySQL omogenee non esegue la migrazione di account utente e accessi. Le origini che contengono metadati definiti dagli account utente con la clausola
DEFINERpotrebbero bloccare la migrazione. - Se il database di origine contiene oggetti che fanno riferimento a tabelle negli schemi di sistema
mysql,performance_schema,information_schema,ndbinfoosys, assicurati che anche i database di replica contengano queste tabelle di schema di sistema.Se i database di replica non contengono queste tabelle, il job di migrazione potrebbe non riuscire e restituire l'errore
Unknown table in system schema. -
Abilita e configura i log binari nel database di origine.
In Cloud SQL per MySQL, il logging binario viene abilitato automaticamente quando utilizzi il recupero point-in-time (PITR). Puoi configurare il formato dei log e il periodo di conservazione con i flag di sistema disponibili in Cloud SQL. Segui questi passaggi:
- Abilita il PITR sull'istanza. Questa funzionalità attiva automaticamente il log binario. Non è possibile abilitare il logging binario senza PITR in Cloud SQL. Consulta Recupero point-in-time (PITR) nella documentazione di Cloud SQL.
- Utilizza i flag di Cloud SQL per modificare la configurazione del logging.
Per maggiori dettagli, consulta Configura i flag di database nella documentazione di Cloud SQL.
- Database Migration Service richiede che
binlog_formatsia impostato suROW. Non è necessario modificare questa impostazione, Cloud SQL per MySQL imposta automaticamente il flagbinlog_formatsuROW. - Imposta il
periodo di conservazione dei log su un periodo di tempo sufficientemente lungo da supportare la
migrazione del database. In genere, una settimana è sufficiente.
Utilizza uno dei seguenti flag:
- MySQL 5.6 - 5.7:
expire_logs_days - MySQL 8.0 e versioni successive:
expire_logs_days,binlog_expire_logs_seconds
- MySQL 5.6 - 5.7:
- Database Migration Service richiede che
-
Crea un account utente dedicato per la migrazione nell'istanza. Consulta Crea un utente nella documentazione di Cloud SQL. Verifica quanto segue:
- Consenti all'account utente dedicato di connettersi da qualsiasi host
(
host=%). - La password dell'account non supera i 32 caratteri. Per ulteriori informazioni sulle limitazioni della lunghezza della password utente MySQL, consulta il bug #43439 di MySQL.
- Consenti all'account utente dedicato di connettersi da qualsiasi host
(
-
Assegna i privilegi necessari all'account utente dedicato per la migrazione. Per le migrazioni continue, l'elenco completo dei privilegi richiesti dipende dal fatto che tu fornisca i tuoi file di dump o utilizzi la funzionalità di dump gestito di Database Migration Service:
Dump gestito
Se vuoi che Database Migration Service esegua automaticamente il dump completo del database di origine, assegna i seguenti privilegi all'account utente:
REPLICATION SLAVEEXECUTEREPLICATION CLIENTSELECTSHOW VIEWTRIGGERRELOAD- Per le versioni di MySQL di origine 8.0 o successive: assicurati che l'account di migrazione non disponga del privilegio
BACKUP_ADMIN.
Dump manuale
Se fornisci i tuoi file di dump creati con
mysqldump, devi fornire i privilegi richiesti per la fase CDC:
Configura un'origine MySQL self-hosted
Per configurare un'istanza di origine MySQL autogestita per il processo di migrazione, procedi nel seguente modo:
- Assicurati che tutte le tabelle (tranne quelle nei database di sistema) utilizzino il motore di archiviazione InnoDB. Se utilizzi un motore di archiviazione diverso, potresti dover convertire le tabelle. Per saperne di più, consulta Conversione delle tabelle da MyISAM a InnoDB.
- Controlla se il database di origine contiene metadati definiti dagli utenti con la clausola
DEFINER. Consulta Verificare i metadati con una clausolaDEFINER.Database Migration Service per le migrazioni MySQL omogenee non esegue la migrazione degli account utente e degli accessi. Le origini che contengono metadati definiti dagli account utente con la clausola
DEFINERpotrebbero bloccare la migrazione. - Se il database di origine contiene oggetti che fanno riferimento a tabelle negli schemi di sistema
mysql,performance_schema,information_schema,ndbinfoosys, assicurati che anche i database di replica contengano queste tabelle di schema di sistema.Se i database di replica non contengono queste tabelle, il job di migrazione potrebbe non riuscire con l'errore
Unknown table in system schema. - Configura l'impostazione
server-idsu un valore pari o superiore a1. Per saperne di più, consulta Opzioni e variabili di replica e logging binario. -
Assicurati che
GTID_MODEsia impostato suONoOFF, nessun altro valore è supportato.Database Migration Service richiede che
GTID_MODEsia impostato suONnei seguenti scenari:- Quando esegui la migrazione a un'istanza di destinazione esistente in cui sono abilitate le repliche di lettura.
- Se vuoi configurare le repliche di lettura in cascata dopo aver completato il processo di migrazione.
- Se prevedi di creare manualmente i file di dump e di fornirli nel job di migrazione.
Per saperne di più su
GTID_MODE, consulta la sezione Variabile di sistema dell'ID transazione globale. -
Abilita e configura i log binari nel database di origine. Segui questi passaggi:
- Abilita i log binari nel database di origine.
- Imposta
binlog_formatsu'ROW'. Consulta Logging binario basato su righe. - Imposta il
periodo di conservazione dei log su un periodo di tempo sufficientemente lungo da supportare la migrazione del database. In genere, una settimana è sufficiente.
Utilizza uno dei seguenti flag:
- MySQL 5.5 - 5.7:
expire_logs_days - MySQL 8.0:
expire_logs_days,binlog_expire_logs_seconds
- MySQL 5.5 - 5.7:
-
Crea un account utente dedicato per la migrazione nell'istanza. Consulta Dichiarazioni di gestione dell'account. Verifica quanto segue:
- Consenti all'account utente dedicato di connettersi da qualsiasi host
(
host=%). - La password dell'account non deve superare i 32 caratteri. Per ulteriori informazioni sulle limitazioni della lunghezza della password utente MySQL, consulta il bug #43439 di MySQL.
- Consenti all'account utente dedicato di connettersi da qualsiasi host
(
-
Assegna i privilegi necessari all'account utente dedicato per la migrazione. Per le migrazioni continue, l'elenco completo dei privilegi richiesti dipende dal fatto che tu fornisca i tuoi file di dump o utilizzi la funzionalità di dump gestito di Database Migration Service:
Dump gestito
Se vuoi che Database Migration Service esegua automaticamente il dump completo del database di origine, assegna i seguenti privilegi all'account utente:
REPLICATION SLAVEEXECUTEREPLICATION CLIENTSELECTSHOW VIEWTRIGGER- Per le origini con l'impostazione
GTID_MODE = ON:RELOADCon il flusso di dump gestito, Database Migration Service richiede l'impostazione
GTID_MODE = ONsolo quando esegui la migrazione a un'istanza di destinazione esistente in cui sono abilitate le repliche di lettura. - Per le versioni di MySQL di origine 8.0 o successive: assicurati che l'account di migrazione
non disponga del privilegio
BACKUP_ADMIN.
Dump manuale
Se fornisci i tuoi file di dump creati con
mysqldump, devi fornire i privilegi richiesti per la fase CDC:
Configura un'origine Amazon RDS per MySQL
Per configurare un'istanza di origine Amazon RDS per MySQL per il processo di migrazione, procedi come segue:
- Amazon RDS per MySQL utilizza il motore di archiviazione InnoDB per impostazione predefinita, ma consente di utilizzare altri motori di archiviazione. Assicurati che tutte le tabelle (ad eccezione di quelle nei database di sistema) utilizzino il motore di archiviazione InnoDB. Se utilizzi un motore di archiviazione diverso, potresti dover convertire le tabelle. Per saperne di più, consulta Conversione delle tabelle da MyISAM a InnoDB.
- Controlla se il database di origine contiene metadati definiti dagli utenti
con la clausola
DEFINER. Consulta Verifica i metadati con una clausolaDEFINER.Database Migration Service per le migrazioni MySQL omogenee non esegue la migrazione di account utente e accessi. Le origini che contengono metadati definiti dagli account utente con la clausola
DEFINERpotrebbero bloccare la migrazione. - Se il database di origine contiene oggetti che fanno riferimento a tabelle negli schemi di sistema
mysql,performance_schema,information_schema,ndbinfoosys, assicurati che anche i database di replica contengano queste tabelle di schema di sistema.Se i database di replica non contengono queste tabelle, il job di migrazione potrebbe non riuscire con l'errore
Unknown table in system schema. -
Assicurati che
GTID_MODEsia impostato suONoOFF, nessun altro valore è supportato. Amazon RDS per MySQL utilizzaGTID_MODE = OFFper impostazione predefinita.Database Migration Service richiede che
GTID_MODEsia impostato suONnei seguenti scenari:- Quando esegui la migrazione a un'istanza di destinazione esistente in cui sono abilitate le repliche di lettura.
- Se prevedi di creare manualmente i file di dump e fornirli nel job di migrazione.
Per saperne di più su
GTID_MODE, consulta la sezione Variabile di sistema dell'ID transazione globale. -
Verifica e configura i log binari nel database di origine. Segui questi passaggi:
- Assicurati che l'istanza utilizzi i backup automatici. Amazon RDS genera log binari solo quando i backup automatici sono abilitati. Per saperne di più, consulta Abilitazione dei backup automatici nella documentazione di Amazon RDS.
-
Imposta il periodo di conservazione dei log su un periodo di tempo sufficientemente lungo da supportare la migrazione del database. In genere, una settimana è sufficiente. Consulta Impostazione e visualizzazione della configurazione del log binario nella documentazione di Amazon RDS.
- Riavvia il server in modo che le modifiche effettuate vengano applicate.
-
Crea un account utente dedicato per la migrazione nell'istanza. Consulta Dichiarazioni di gestione dell'account. Verifica quanto segue:
- Consenti all'account utente dedicato di connettersi da qualsiasi host
(
host=%). - La password dell'account non deve superare i 32 caratteri. Per ulteriori informazioni sulle limitazioni della lunghezza della password utente MySQL, consulta il bug MySQL n. 43439.
- Consenti all'account utente dedicato di connettersi da qualsiasi host
(
-
Assegna i privilegi necessari all'account utente dedicato per la migrazione. Per le migrazioni continue, l'elenco completo dei privilegi richiesti dipende dal fatto che tu fornisca i tuoi file di dump o utilizzi la funzionalità di dump gestito di Database Migration Service:
Dump gestito
Se vuoi che Database Migration Service esegua automaticamente il dump completo del database di origine, assegna i seguenti privilegi all'account utente:
REPLICATION SLAVEEXECUTEREPLICATION CLIENTSELECTSHOW VIEWTRIGGERLOCK TABLES- Per le origini con l'impostazione
GTID_MODE = ON:RELOADCon il flusso di dump gestito, Database Migration Service richiede l'impostazione
GTID_MODE = ONsolo quando esegui la migrazione a un'istanza di destinazione esistente in cui sono abilitate le repliche di lettura. - Per le versioni di MySQL di origine 8.0 o successive: assicurati che l'account di migrazione non disponga del privilegio
BACKUP_ADMIN.
Dump manuale
Se fornisci i tuoi file di dump creati con
mysqldump, devi fornire i privilegi richiesti per la fase CDC:
Configura un'origine Amazon Aurora per MySQL
Per configurare un'istanza di origine Amazon Aurora per MySQL per il processo di migrazione, procedi come segue:
- Controlla se il database di origine contiene metadati definiti dagli utenti con la clausola
DEFINER. Consulta Verificare i metadati con una clausolaDEFINER.Database Migration Service per le migrazioni MySQL omogenee non esegue la migrazione di account utente e accessi. Le origini che contengono metadati definiti da account utente con la clausola
DEFINERpotrebbero bloccare la migrazione. - Se il database di origine contiene oggetti che fanno riferimento a tabelle negli schemi di sistema
mysql,performance_schema,information_schema,ndbinfoosys, assicurati che anche i database di replica contengano queste tabelle di schema di sistema.Se i database di replica non contengono queste tabelle, il job di migrazione potrebbe non riuscire con l'errore
Unknown table in system schema. -
Assicurati che
GTID_MODEsia impostato suONoOFF, nessun altro valore è supportato. Amazon Aurora per MySQL utilizzaGTID_MODE = OFFper impostazione predefinita.Database Migration Service richiede che
GTID_MODEsia impostato suONnei seguenti scenari:- Quando esegui la migrazione a un'istanza di destinazione esistente con repliche di lettura abilitate.
- Se prevedi di creare manualmente i file di dump e di fornirli nel job di migrazione.
Per saperne di più su
GTID_MODE, consulta la sezione Variabile di sistema dell'ID transazione globale. -
Abilita e configura i log binari nel database di origine. Segui questi passaggi:
- Abilita il logging binario per il tuo database MySQL.
-
Imposta il periodo di conservazione dei log su un periodo di tempo sufficientemente lungo da supportare la migrazione del database. In genere, una settimana è sufficiente. Consulta Impostazione e visualizzazione della configurazione del log binario.
- Riavvia il server in modo che le modifiche effettuate vengano applicate.
-
Crea un account utente dedicato per la migrazione nell'istanza. Consulta Estratti conto di gestione dell'account. Verifica quanto segue:
- Consenti all'account utente dedicato di connettersi da qualsiasi host
(
host=%). - La password dell'account non supera i 32 caratteri. Per ulteriori informazioni sulle limitazioni della lunghezza della password utente MySQL, consulta il bug MySQL n. 43439.
- Consenti all'account utente dedicato di connettersi da qualsiasi host
(
-
Assegna i privilegi necessari all'account utente dedicato per la migrazione. Per le migrazioni continue, l'elenco completo dei privilegi richiesti dipende dal fatto che tu fornisca i tuoi file di dump o utilizzi la funzionalità di dump gestito di Database Migration Service:
Dump gestito
Se vuoi che Database Migration Service esegua automaticamente il dump completo del database di origine, assegna i seguenti privilegi all'account utente:
REPLICATION SLAVEEXECUTEREPLICATION CLIENTSELECTSHOW VIEWTRIGGERLOCK TABLES- Per le fonti con l'impostazione
GTID_MODE = ON:RELOADCon il flusso di dump gestito, Database Migration Service richiede l'impostazione
GTID_MODE = ONsolo quando esegui la migrazione a un'istanza di destinazione esistente con repliche di lettura attive. - Per le versioni di MySQL di origine 8.0 o successive: assicurati che l'account di migrazione non disponga del privilegio
BACKUP_ADMIN.
Dump manuale
Se fornisci i tuoi file di dump creati con
mysqldump, devi fornire i privilegi richiesti per la fase CDC:
Configura un'origine Database di Microsoft Azure per MySQL
Per configurare un'istanza di origine del database di Microsoft Azure per MySQL per il processo di migrazione, procedi come segue:
- Controlla se il database di origine contiene metadati definiti dagli utenti con la clausola
DEFINER. Consulta Verifica i metadati con una clausolaDEFINER.Database Migration Service per le migrazioni MySQL omogenee non esegue la migrazione di account utente e accessi. Le origini che contengono metadati definiti da account utente con la clausola
DEFINERpotrebbero bloccare la migrazione. - Se il database di origine contiene oggetti che fanno riferimento
a tabelle negli schemi di sistema
mysql,performance_schema,information_schema,ndbinfoosys, assicurati che anche i database di replica contengano queste tabelle dello schema di sistema.Se i database di replica non contengono queste tabelle, il job di migrazione potrebbe non riuscire con l'errore
Unknown table in system schema. -
Assicurati che
GTID_MODEsia impostato suONoOFF. Non sono supportati altri valori. Il database di Microsoft Azure per MySQL utilizzaGTID_MODE = OFFper impostazione predefinita.Database Migration Service richiede che
GTID_MODEsia impostato suONnei seguenti scenari:- Quando esegui la migrazione a un'istanza di destinazione esistente in cui sono attivate le repliche di lettura.
- Se prevedi di creare manualmente i file di dump e di fornirli nel job di migrazione.
Per saperne di più su
GTID_MODE, consulta la sezione Variabile di sistema dell'ID transazione globale. -
Verifica e configura le impostazioni di logging binario nel database di origine. Segui questi passaggi:
- Il logging binario è abilitato per impostazione predefinita su Microsoft Azure Database for MySQL. Non è necessario attivarla, ma verifica che la funzionalità sia attiva. Per saperne di più, consulta la documentazione di Microsoft.
-
Imposta
binlog_expire_logs_secondssu un periodo di tempo sufficientemente lungo da supportare la migrazione del database. In genere, una settimana è sufficiente.Per saperne di più, consulta Configura i parametri del server nel database di Azure per MySQL e il parametro
binlog_expire_logs_secondsnella documentazione di Microsoft. - Riavvia il server in modo che le modifiche effettuate vengano applicate.
Controlla il valore dell'impostazione
require_secure_transport.Per impostazione predefinita, i database Microsoft Azure richiedono la crittografia SSL/TLS per tutte le connessioni in entrata. A seconda del valore
require_secure_transport, utilizza una delle seguenti impostazioni di crittografia quando crei il profilo di connessione di origine:- Se
require_secure_transportè impostato suon, seleziona Basic, TLS o mTLS. - Se
require_secure_transportè impostato suoff, seleziona Nessuno.
- Se
-
Crea un account utente dedicato per la migrazione nell'istanza. Consulta Estratti di gestione dell'account. Verifica quanto segue:
- Consenti all'account utente dedicato di connettersi da qualsiasi host
(
host=%). - La password dell'account non supera i 32 caratteri. Per ulteriori informazioni sulle limitazioni della lunghezza della password utente MySQL, consulta il bug #43439 di MySQL.
- Consenti all'account utente dedicato di connettersi da qualsiasi host
(
-
Assegna i privilegi necessari all'account utente dedicato per la migrazione. Per le migrazioni continue, l'elenco completo dei privilegi richiesti dipende dal fatto che tu fornisca i tuoi file di dump o utilizzi la funzionalità di dump gestito di Database Migration Service:
Dump gestito
Se vuoi che Database Migration Service esegua automaticamente il dump completo del database di origine, assegna i seguenti privilegi all'account utente:
REPLICATION SLAVEEXECUTEREPLICATION CLIENTSELECTSHOW VIEWTRIGGER- Per le fonti con l'impostazione
GTID_MODE = ON:RELOADCon il flusso di dump gestito, Database Migration Service richiede l'impostazione
GTID_MODE = ONsolo quando esegui la migrazione a un'istanza di destinazione esistente in cui sono abilitate le repliche di lettura. - Per le versioni di MySQL di origine 8.0 o successive: assicurati che l'account di migrazione non disponga del privilegio
BACKUP_ADMIN.
Dump manuale
Se fornisci i tuoi file di dump creati con
mysqldump, devi fornire i privilegi richiesti per la fase CDC:
Passaggi successivi
Per una procedura dettagliata completa della migrazione per le migrazioni omogenee di Cloud SQL per MySQL, consulta Inizia a utilizzare le migrazioni di Cloud SQL per MySQL.