Configura il database MySQL di origine per le migrazioni continue

Questa pagina descrive come configurare le seguenti istanze di database di origine per le migrazioni MySQL omogenee continue:

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:

  1. Controlla se il database di origine contiene metadati definiti dagli utenti con la clausola DEFINER. Consulta Verificare i metadati con una clausola DEFINER.

    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 DEFINER potrebbero bloccare la migrazione.

  2. Se il database di origine contiene oggetti che fanno riferimento a tabelle negli schemi di sistema mysql, performance_schema, information_schema, ndbinfo o sys, 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 .

  3. 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:

    1. 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.
    2. 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.
      1. Database Migration Service richiede che binlog_format sia impostato su ROW. Non è necessario modificare questa impostazione, Cloud SQL per MySQL imposta automaticamente il flag binlog_format su ROW.
      2. 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
  4. 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.
  5. 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:

    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:

  1. 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.
  2. Controlla se il database di origine contiene metadati definiti dagli utenti con la clausola DEFINER. Consulta Verificare i metadati con una clausola DEFINER.

    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 DEFINER potrebbero bloccare la migrazione.

  3. Se il database di origine contiene oggetti che fanno riferimento a tabelle negli schemi di sistema mysql, performance_schema, information_schema, ndbinfo o sys, 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 .

  4. Configura l'impostazione server-id su un valore pari o superiore a 1. Per saperne di più, consulta Opzioni e variabili di replica e logging binario.
  5. Assicurati che GTID_MODE sia impostato su ON o OFF, nessun altro valore è supportato.

    Database Migration Service richiede che GTID_MODE sia impostato su ON nei seguenti scenari:

    Per saperne di più su GTID_MODE, consulta la sezione Variabile di sistema dell'ID transazione globale.

  6. Abilita e configura i log binari nel database di origine. Segui questi passaggi:

      • Abilita i log binari nel database di origine.
      • Imposta binlog_format su '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
  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.
  8. 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:

    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:

  1. 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.
  2. Controlla se il database di origine contiene metadati definiti dagli utenti con la clausola DEFINER. Consulta Verifica i metadati con una clausola DEFINER.

    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 DEFINER potrebbero bloccare la migrazione.

  3. Se il database di origine contiene oggetti che fanno riferimento a tabelle negli schemi di sistema mysql, performance_schema, information_schema, ndbinfo o sys, 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 .

  4. Assicurati che GTID_MODE sia impostato su ON o OFF, nessun altro valore è supportato. Amazon RDS per MySQL utilizza GTID_MODE = OFF per impostazione predefinita.

    Database Migration Service richiede che GTID_MODE sia impostato su ON nei seguenti scenari:

    Per saperne di più su GTID_MODE, consulta la sezione Variabile di sistema dell'ID transazione globale.

  5. Verifica e configura i log binari nel database di origine. Segui questi passaggi:

    1. 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.
    2. 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.

    3. Riavvia il server in modo che le modifiche effettuate vengano applicate.
  6. 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.
  7. 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:

    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:

  1. Controlla se il database di origine contiene metadati definiti dagli utenti con la clausola DEFINER. Consulta Verificare i metadati con una clausola DEFINER.

    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 DEFINER potrebbero bloccare la migrazione.

  2. Se il database di origine contiene oggetti che fanno riferimento a tabelle negli schemi di sistema mysql, performance_schema, information_schema, ndbinfo o sys, 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 .

  3. Assicurati che GTID_MODE sia impostato su ON o OFF, nessun altro valore è supportato. Amazon Aurora per MySQL utilizza GTID_MODE = OFF per impostazione predefinita.

    Database Migration Service richiede che GTID_MODE sia impostato su ON nei seguenti scenari:

    Per saperne di più su GTID_MODE, consulta la sezione Variabile di sistema dell'ID transazione globale.

  4. Abilita e configura i log binari nel database di origine. Segui questi passaggi:

    1. Abilita il logging binario per il tuo database MySQL.
    2. 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.

    3. Riavvia il server in modo che le modifiche effettuate vengano applicate.
  5. 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.
  6. 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:

    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:

  1. Controlla se il database di origine contiene metadati definiti dagli utenti con la clausola DEFINER. Consulta Verifica i metadati con una clausola DEFINER.

    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 DEFINER potrebbero bloccare la migrazione.

  2. Se il database di origine contiene oggetti che fanno riferimento a tabelle negli schemi di sistema mysql, performance_schema, information_schema, ndbinfo o sys, 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 .

  3. Assicurati che GTID_MODE sia impostato su ON o OFF. Non sono supportati altri valori. Il database di Microsoft Azure per MySQL utilizza GTID_MODE = OFF per impostazione predefinita.

    Database Migration Service richiede che GTID_MODE sia impostato su ON nei seguenti scenari:

    Per saperne di più su GTID_MODE, consulta la sezione Variabile di sistema dell'ID transazione globale.

  4. Verifica e configura le impostazioni di logging binario nel database di origine. Segui questi passaggi:

    1. 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.
    2. Imposta binlog_expire_logs_seconds su 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_seconds nella documentazione di Microsoft.

    3. Riavvia il server in modo che le modifiche effettuate vengano applicate.
  5. 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 su on, seleziona Basic, TLS o mTLS.
    • Se require_secure_transport è impostato su off, seleziona Nessuno.
  6. 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.
  7. 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:

    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.