Panoramica
Un job di migrazione MySQL
non esegue la migrazione dei dati utente. Pertanto,
le origini che contengono metadati definiti dall'utente con la clausola DEFINER non vanno a buon fine
quando vengono richiamate sulla nuova replica Cloud SQL, perché gli utenti non esistono ancora.
Per identificare i valori DEFINER esistenti nei metadati, esegui una query sul database di origine MySQL. Controlla i risultati per le voci relative a
root%localhost o per gli utenti che non esistono nell'istanza di destinazione:
SELECT DISTINCT DEFINER FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_SCHEMA NOT
IN ('mysql', 'sys');
SELECT DISTINCT DEFINER FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA NOT
IN ('mysql', 'sys');
SELECT DISTINCT DEFINER FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_SCHEMA NOT
IN ('mysql', 'sys');
SELECT DISTINCT DEFINER FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA NOT
IN ('mysql', 'sys');
Per eseguire un job di migrazione da un'origine che include questi metadati, esegui una delle seguenti operazioni:
Crea gli utenti nell'istanza di replica Cloud SQL di destinazione prima di avviare il job di migrazione.
Per creare un job di migrazione bozza senza avviarlo, seleziona Crea anziché Crea e avvia.
Nell'istanza Cloud SQL di destinazione, ricrea gli utenti dall'istanza MySQL di origine utilizzando l'API Cloud SQL o la console Google Cloud .
Avvia il job di migrazione dall'elenco dei job di migrazione o dalla pagina del job specifico.
Aggiorna la clausola
DEFINERaINVOKERnell'istanza MySQL di origine prima di configurare il job di migrazione.