Database Migration Service utilizza i job di migrazione per eseguire la migrazione dei dati dall'istanza database di origine all'istanza database di destinazione. La creazione di un job di migrazione per un'istanza di destinazione esistente include:
- Definizione delle impostazioni per il job di migrazione
- Selezionare il profilo di connessione del database di origine
- Seleziona l'istanza di database di destinazione esistente
- Retrocessione dell'istanza esistente per convertirla in una replica di lettura
- Configurazione della connettività tra le istanze del database di origine e di destinazione
- Testare il job di migrazione per assicurarti che i dati di connessione forniti per il job siano validi
Esistono alcune limitazioni da tenere conto quando vuoi eseguire la migrazione a un'istanza di destinazione creata al di fuori di Database Migration Service. Ad esempio, l'istanza Cloud SQL di destinazione deve essere vuota o contenere solo dati di configurazione di sistema. Per ulteriori informazioni, consulta Limitazioni note.
Definisci le impostazioni per il job di migrazione
- Nella console Google Cloud, vai alla pagina Job di migrazione.
- Fai clic su Crea job di migrazione.
Si apre la pagina della procedura guidata di configurazione del job di migrazione. Questa procedura guidata contiene più riquadri che ti guidano in ogni passaggio di configurazione.
Puoi mettere in pausa la creazione di un job di migrazione in qualsiasi momento facendo clic su SALVA E ESCI. Tutti i dati inseriti fino a quel punto vengono salvati in una bozza del job di migrazione. Puoi completare il job di migrazione della bozza in un secondo momento.
- Nella pagina Inizia, inserisci le seguenti informazioni:
- Nome job di migrazione
Si tratta di un nome leggibile per il job di migrazione. Questo valore viene visualizzato nella console Google Cloud.
- ID job di migrazione
Si tratta di un identificatore leggibile dalla macchina per il job di migrazione. Utilizza questo valore per lavorare con i job di migrazione utilizzando i comandi o l'API Google Cloud CLI di Database Migration Service.
- Nell'elenco Motore del database di origine, seleziona
MySQL.
Il campo Motore del database di destinazione viene compilato automaticamente e non può essere modificato.
- Seleziona la regione in cui salvare il job di migrazione.
Database Migration Service è un prodotto completamente regionale, il che significa che tutte le entità correlate alla migrazione (profili di connessione di origine e di destinazione, job di migrazione, database di destinazione) devono essere salvate in un'unica regione. Seleziona la regione in base alla posizione dei servizi che richiedono i tuoi dati, ad esempio istanze di Compute Engine o app di App Engine e altri servizi. Una volta scelta la regione di destinazione, questa selezione non può essere modificata.
- Nome job di migrazione
- Fai clic su Salva e continua.
Specifica le informazioni sul profilo di connessione di origine
Nella pagina Definisci un'origine, segui questi passaggi:
- Nel menu a discesa Profilo di connessione di origine, seleziona il profilo di connessione per il database di origine.
- Nella sezione Personalizza la configurazione del dump completo, fai clic su Modifica configurazione.
- Nel riquadro Modifica la configurazione del dump completo, seleziona una delle seguenti opzioni dal menu a discesa Metodo di dump completo:
- In base a dati fisici: seleziona questa opzione se vuoi utilizzare l'utilità Percona XtraBackup per fornire il tuo file di backup. Questo approccio richiede passaggi di preparazione aggiuntivi. Per la guida completa sull'utilizzo dei file di backup fisici generati da Percona XtraBackup, consulta Eseguire la migrazione dei database utilizzando un file fisico Percona XtraBackup.
- In base a logica: seleziona questa opzione se vuoi utilizzare un file di backup logico creato dall'utilità
mysqldump
. Database Migration Service può generare automaticamente questo file di backup per te oppure puoi fornire la tua copia.
- Modifica le altre impostazioni del dump. Esegui una delle seguenti operazioni:
- Se utilizzi il file di backup fisico, fai clic su Sfoglia in Fornisci la tua cartella, quindi seleziona la cartella in cui hai caricato il file dump completo. Assicurati di selezionare la cartella dedicata che contiene il file di backup completo e non il bucket di archiviazione stesso.
Se utilizzi un file di backup logico, configura il parallelismo del dump dei dati o i flag di dump.
Espandi questa sezione per i passaggi completi del file di backup logico
Nella sezione Scegli come generare il file di dump, utilizza una delle seguenti opzioni:
Generata automaticamente (opzione consigliata)
Questa opzione è consigliata perché Database Migration Service genera sempre un file di dump del database iniziale dopo la creazione e l'avvio del job di migrazione.
Database Migration Service utilizza questo file per riprodurre le definizioni degli oggetti e i dati delle tabelle originali del database di origine in modo che queste informazioni possano essere migrate in un'istanza del database Cloud SQL di destinazione.
Se utilizzi il dump generato automaticamente, seleziona il tipo di operazione che Database Migration Service deve eseguire nella sezione Configura operazione di dump dei dati:
- Parallelismo del dump dei dati: utilizza un'opzione di parallelismo ad alte prestazioni, disponibile durante la migrazione alle versioni 5.7 o 8 di MySQL.
La velocità del parallelismo dei dati è correlata alla quantità di carico indotto sul database di origine:
- Ottimale (consigliato): prestazioni bilanciate con un carico ottimale sul database di origine.
- Massima: fornisce le velocità di dump più elevate, ma potrebbe causare un aumento del carico sul database di origine.
- Minimo: utilizza la quantità minima di risorse di calcolo sul database di origine, ma potrebbe avere una maggiore velocità in termini di throughput del dump.
- Flag di dump: questa opzione è esclusiva del parallismo del dump dei dati.
Utilizza questa impostazione per configurare direttamente i flag per l'utilità
mysqldump
utilizzata per creare il file dump.Per aggiungere un indicatore:
- Fai clic su AGGIUNGI FLAG.
Seleziona uno dei seguenti flag:
add-locks:
Questo flag racchiude ogni tabella contenuta nel file dump con istruzioniLOCK TABLES
eUNLOCK TABLES
. Ciò comporta inserimenti più rapidi quando il file dump viene caricato nell'istanza di destinazione.ignore-error:
Utilizza questo flag per inserire un elenco di numeri di errore separati da virgole. Questi numeri rappresentano gli errori che l'utilitàmysqldump
ignorerà.max-allowed-packet:
Utilizza questo flag per impostare la dimensione massima del buffer per la comunicazione tra il client MySQL e il database MySQL di origine. La dimensione predefinita del buffer è 24 MB; la dimensione massima è 1 GB.
- Fai clic su FINE.
- Ripeti questi passaggi per ogni indicatore che vuoi aggiungere.
Per rimuovere un indicatore, fai clic sull'icona del cestino a destra della riga che contiene l'indicatore.
- Parallelismo del dump dei dati: utilizza un'opzione di parallelismo ad alte prestazioni, disponibile durante la migrazione alle versioni 5.7 o 8 di MySQL.
Fornire il proprio
Questa opzione è sconsigliata perché per impostazione predefinita Database Migration Service esegue un dump iniziale nell'ambito dell'esecuzione del job di migrazione.
Se vuoi utilizzare il tuo file di dump, seleziona Fornisci il tuo, fai clic su SFOGLA, seleziona il file (o l'intera cartella Cloud Storage se utilizzi più file) e poi fai clic su SELEZIONA.
Assicurati che il dump sia stato generato nelle ultime 24 ore e rispetti i requisiti per i dump.
- Fai clic su Salva e continua.
Seleziona l'istanza Cloud SQL di destinazione
- Nel menu Tipo di istanza di destinazione, seleziona Istanza esistente.
- Nella sezione Seleziona istanza di destinazione, seleziona l'istanza di destinazione.
- Esamina le informazioni nella sezione Dettagli istanza e fai clic su Seleziona e continua.
- Per eseguire la migrazione a un database di destinazione esistente, Database Migration Service fa retrocedere l'istanza di destinazione e la converte in una replica. Per indicare che la retrocessione può essere eseguita in sicurezza, nella finestra di conferma inserisci l'identificatore dell'istanza di destinazione.
- Fai clic su Conferma e continua.
Configurare la connettività tra le istanze del database di origine e di destinazione
Dal menu a discesa Metodo di connettività, seleziona un metodo di connettività di rete. Questo metodo definisce la modalità di collegamento dell'istanza Cloud SQL appena creata al database di origine. I metodi di connettività di rete attuali includono lista consentita di IP, tunnel SSH inverso e peering VPC.
Se vuoi utilizzare… | Poi… |
---|---|
Il metodo di connettività di rete della lista consentita IP, | Devi specificare l'indirizzo IP in uscita dell'istanza di destinazione. Se l'istanza Cloud SQL che hai creato è un'istanza di alta disponibilità, includi gli indirizzi IP in uscita sia per l'istanza principale sia per quella secondaria. |
Il metodo di connettività di rete del tunnel SSH inverso, | Devi selezionare l'istanza VM di Compute Engine che ospiterà il tunnel.
Dopo aver specificato l'istanza, Google fornirà uno script che esegue i passaggi per configurare il tunnel tra i database di origine e di destinazione. Dovrai eseguire lo script in Google Cloud CLI. Esegui i comandi da una macchina con connettività sia al database di origine sia a Google Cloud. |
Il metodo di connettività di rete del peering VPC, | Devi selezionare la rete VPC in cui si trova il database di origine. L'istanza Cloud SQL verrà aggiornata in modo da connettersi a questa rete. |
Dopo aver selezionato e configurato la connettività di rete, fai clic su Configura e continua.
Testa, crea ed esegui il job di migrazione
In questo passaggio finale, esamina il riepilogo delle impostazioni, dell'origine, della destinazione e del metodo di connettività del job di migrazione, quindi verifica la validità della configurazione del job di migrazione. In caso di problemi, puoi modificare le impostazioni del job di migrazione. Non tutte le impostazioni sono modificabili.
-
Nella pagina Testa e crea il job di migrazione, fai clic su Testa job.
Se il test non va a buon fine, puoi risolvere il problema nella parte appropriata del flusso e riprovare. Per informazioni sulla risoluzione dei problemi relativi a un test del job di migrazione non riuscito, consulta Diagnostica i problemi per MySQL.
-
Al termine del test del job di migrazione, fai clic su Crea e avvia job per creare il job di migrazione e avviarlo immediatamente oppure fai clic su Crea job per creare il job di migrazione senza avviarlo immediatamente.
Se il job non viene avviato al momento della creazione, può essere avviato dalla pagina Job di migrazione facendo clic su AVVIA. Indipendentemente dall'ora di inizio del job di migrazione, alla tua organizzazione viene addebitato il costo dell'esistenza dell'istanza di destinazione.
La migrazione è in corso. Quando avvii il job di migrazione, Database Migration Service avvia il dump completo, bloccando brevemente il database di origine. Se l'origine si trova in Amazon RDS o Amazon Aurora, Database Migration Service richiede inoltre un breve tempo di inattività in scrittura (circa meno di un minuto) all'inizio della migrazione. Per ulteriori informazioni, consulta Limitazioni note.
- Vai a Rivedere il job di migrazione.
Creare un job di migrazione utilizzando Google Cloud CLI
Quando esegui la migrazione a un'istanza esistente utilizzando Google Cloud CLI, devi creare manualmente il profilo di connessione per l'istanza di destinazione. Questo non è necessario quando utilizzi la console Google Cloud, poiché Database Migration Service si occupa di creare e rimuovere il profilo di connessione di destinazione per te.
Prima di iniziare
Prima di utilizzare gcloud CLI per creare un job di migrazione in un'istanza di database di destinazione esistente, assicurati di:
- Crea l'istanza del database di destinazione.
- Prepara l'istanza del database di origine. Consulta:
- Configurare l'origine
- Crea il profilo di connessione di origine (l'identificatore del profilo di connessione di origine è necessario per creare un job di migrazione).
- Configurare la connettività
Crea il profilo di connessione di destinazione
Crea il profilo di connessione di destinazione per l'istanza di destinazione esistente
eseguendo il comando
gcloud database-migration connection-profiles create
:
Questo esempio utilizza il flag facoltativo --no-async
in modo che tutte le operazioni vengano eseguite in modo sincrono. Ciò significa che il completamento di alcuni comandi potrebbe richiedere un po' di tempo. Puoi saltare il flag --no-async
per eseguire i comandi in modo asincrono.
In questo caso, devi utilizzare il comando
gcloud database-migration operations describe
per verificare se l'operazione è riuscita.
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- CONNECTION_PROFILE_ID con un identificatore leggibile dalla macchina per il profilo di connessione.
- REGION con l'identificatore della regione in cui vuoi salvare il profilo di connessione.
- DESTINATION_INSTANCE_ID con l'identificatore dell'istanza di destinazione.
- (Facoltativo) CONNECTION_PROFILE_NAME con un nome leggibile per il profilo di connessione. Questo valore viene visualizzato nella console Google Cloud.
Esegui il seguente comando:
Linux, macOS o Cloud Shell
gcloud database-migration connection-profiles \ create mysql CONNECTION_PROFILE_ID \ --no-async \ --cloudsql-instance=DESTINATION_INSTANCE_ID \ --region=REGION \ --display-name=CONNECTION_PROFILE_NAME
Windows (PowerShell)
gcloud database-migration connection-profiles ` create mysql CONNECTION_PROFILE_ID ` --no-async ` --cloudsql-instance=DESTINATION_INSTANCE_ID ` --region=REGION ` --display-name=CONNECTION_PROFILE_NAME
Windows (cmd.exe)
gcloud database-migration connection-profiles ^ create mysql CONNECTION_PROFILE_ID ^ --no-async ^ --cloudsql-instance=DESTINATION_INSTANCE_ID ^ --region=REGION ^ --display-name=CONNECTION_PROFILE_NAME
Dovresti ricevere una risposta simile alla seguente:
Waiting for connection profile [CONNECTION_PROFILE_ID] to be created with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]
Crea il job di migrazione
Questo esempio utilizza il flag facoltativo --no-async
in modo che tutte le operazioni vengano eseguite in modo sincrono. Ciò significa che il completamento di alcuni comandi potrebbe richiedere un po' di tempo. Puoi saltare il flag --no-async
per eseguire i comandi in modo asincrono.
In questo caso, devi utilizzare il comando
gcloud database-migration operations describe
per verificare se l'operazione è riuscita.
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- MIGRATION_JOB_ID con un identificatore leggibile dalla macchina per il tuo job di migrazione. Utilizza questo valore per lavorare con i job di migrazione utilizzando i comandi o l'API Google Cloud CLI di Database Migration Service.
- REGION con l'identificatore della regione in cui vuoi salvare il job di migrazione.
- MIGRATION_JOB_NAME con un nome leggibile per il job di migrazione. Questo valore viene visualizzato in Database Migration Service nella console Google Cloud.
- SOURCE_CONNECTION_PROFILE_ID con un identificatore leggibile dalla macchina del profilo di connessione di origine.
- DESTINATION_CONNECTION_PROFILE_ID con un identificatore leggibile dalla macchina del profilo di connessione di destinazione.
- MIGRATION_JOB_TYPE con il tipo di job di migrazione. Sono consentiti due valori:
ONE_TIME
oCONTINUOUS
. Per ulteriori informazioni, consulta Tipi di migrazione.
Esegui il seguente comando:
Linux, macOS o Cloud Shell
gcloud database-migration migration-jobs \ create MIGRATION_JOB_ID \ --no-async \ --region=REGION \ --display-name=MIGRATION_JOB_NAME \ --source=SOURCE_CONNECTION_PROFILE_ID \ --destination=DESTINATION_CONNECTION_PROFILE_ID \ --type=MIGRATION_JOB_TYPE \
Windows (PowerShell)
gcloud database-migration migration-jobs ` create MIGRATION_JOB_ID ` --no-async ` --region=REGION ` --display-name=MIGRATION_JOB_NAME ` --source=SOURCE_CONNECTION_PROFILE_ID ` --destination=DESTINATION_CONNECTION_PROFILE_ID ` --type=MIGRATION_JOB_TYPE `
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ create MIGRATION_JOB_ID ^ --no-async ^ --region=REGION ^ --display-name=MIGRATION_JOB_NAME ^ --source=SOURCE_CONNECTION_PROFILE_ID ^ --destination=DESTINATION_CONNECTION_PROFILE_ID ^ --type=MIGRATION_JOB_TYPE ^
Dovresti ricevere una risposta simile alla seguente:
Waiting for migration job [MIGRATION_JOB_ID] to be created with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Created migration job MIGRATION_JOB_ID [OPERATION_ID]
Demote il database di destinazione
Database Migration Service richiede che l'istanza del database di destinazione funzioni come replica di lettura per il momento della migrazione. Prima di avviare il
job di migrazione, esegui il
gcloud database-migration migration-jobs demote-destination
comando per declassare l'istanza del database di destinazione.
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- MIGRATION_JOB_ID con
l'identificatore del job di migrazione.
Se non conosci l'identificatore, puoi utilizzare il comando
gcloud database-migration migration-jobs list
per elencare tutti i job di migrazione in una determinata regione e visualizzarne gli identificatori. - REGION con l'identificatore della regione in cui è salvato il profilo di connessione.
Esegui il seguente comando:
Linux, macOS o Cloud Shell
gcloud database-migration migration-jobs \ demote-destination MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` demote-destination MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ demote-destination MIGRATION_JOB_ID ^ --region=REGION
Risultato
L'azione viene eseguita in modo asincrono. Di conseguenza, questo comando restituisce un' entità Operation che rappresenta un'operazione a lunga esecuzione:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: demote-destination name: OPERATION_ID
Per verificare se l'operazione è riuscita, puoi eseguire una query sull'oggetto operazione restituito o controllare lo stato del job di migrazione:
- Utilizza il comando
gcloud database-migration migration-jobs describe
per visualizzare lo stato del job di migrazione. - Utilizza
gcloud database-migration operations describe
con OPERATION_ID per visualizzare lo stato dell'operazione stessa.
Gestione dei job di migrazione
A questo punto, il job di migrazione è configurato e connesso all'istanza del database di destinazione. Puoi gestirlo utilizzando le
operazioni verify
,start
, stop
, restart
e resume
.
Verifica il job di migrazione
Ti consigliamo di verificare prima il job di migrazione, eseguendo il comando
gcloud database-migration migration-jobs verify
.
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- MIGRATION_JOB_ID con
l'identificatore del job di migrazione.
Se non conosci l'identificatore, puoi utilizzare il comando
gcloud database-migration migration-jobs list
per elencare tutti i job di migrazione in una determinata regione e visualizzarne gli identificatori. - REGION con l'identificatore della regione in cui è salvato il profilo di connessione.
Esegui il seguente comando:
Linux, macOS o Cloud Shell
gcloud database-migration migration-jobs \ verify MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` verify MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ verify MIGRATION_JOB_ID ^ --region=REGION
Risultato
L'azione viene eseguita in modo asincrono. Di conseguenza, questo comando restituisce un' entità Operation che rappresenta un'operazione a lunga esecuzione:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: verify name: OPERATION_ID
Per verificare se l'operazione è riuscita, puoi eseguire una query sull'oggetto operazione restituito o controllare lo stato del job di migrazione:
- Utilizza il comando
gcloud database-migration migration-jobs describe
con MIGRATION_JOB_ID per visualizzare lo stato del job di migrazione. - Utilizza il comando
gcloud database-migration operations describe
con OPERATION_ID per visualizzare lo stato dell'operazione stessa.
Avvia il job di migrazione
Avvia il job di migrazione eseguendo il comando
gcloud database-migration migration-jobs start
.
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- MIGRATION_JOB_ID con
l'identificatore del job di migrazione.
Se non conosci l'identificatore, puoi utilizzare il comando
gcloud database-migration migration-jobs list
per elencare tutti i job di migrazione in una determinata regione e visualizzarne gli identificatori. - REGION con l'identificatore della regione in cui è salvato il profilo di connessione.
Esegui il seguente comando:
Linux, macOS o Cloud Shell
gcloud database-migration migration-jobs \ start MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` start MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ start MIGRATION_JOB_ID ^ --region=REGION
Risultato
L'azione viene eseguita in modo asincrono. Di conseguenza, questo comando restituisce un' entità Operation che rappresenta un'operazione a lunga esecuzione:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: start name: OPERATION_ID
Per verificare se l'operazione è riuscita, puoi eseguire una query sull'oggetto operazione restituito o controllare lo stato del job di migrazione:
- Utilizza il comando
gcloud database-migration migration-jobs describe
con MIGRATION_JOB_ID per visualizzare lo stato del job di migrazione. - Utilizza il comando
gcloud database-migration operations describe
con OPERATION_ID per visualizzare lo stato dell'operazione stessa.
Promuovi il job di migrazione
Una volta raggiunta la fase di Change Data Capture (CDC),
puoi promuovere l'istanza del database di destinazione da una replica di lettura a un'istanza autonoma.
Esegui il comando gcloud database-migration migration-jobs promote
:
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- MIGRATION_JOB_ID con
l'identificatore del job di migrazione.
Se non conosci l'identificatore, puoi utilizzare il comando
gcloud database-migration migration-jobs list
per elencare tutti i job di migrazione in una determinata regione e visualizzarne gli identificatori. - REGION con l'identificatore della regione in cui è salvato il profilo di connessione.
Esegui il seguente comando:
Linux, macOS o Cloud Shell
gcloud database-migration migration-jobs \ promote MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` promote MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ promote MIGRATION_JOB_ID ^ --region=REGION
Risultato
L'azione viene eseguita in modo asincrono. Di conseguenza, questo comando restituisce un' entità Operation che rappresenta un'operazione a lunga esecuzione:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: start name: OPERATION_ID
- Utilizza il comando
gcloud database-migration migration-jobs describe
con MIGRATION_JOB_ID per visualizzare lo stato del job di migrazione. - Utilizza il comando
gcloud database-migration operations describe
con OPERATION_ID per visualizzare lo stato dell'operazione stessa.