Panoramica
Un job di migrazione MySQL
non esegue la migrazione dei dati utente. Pertanto,
le origini che contengono metadati definiti dagli utenti con la clausola DEFINER
non andranno a buon fine se richiamate nella nuova replica Cloud SQL, perché gli utenti non esistono ancora
in questa replica.
Per identificare i valori DEFINER
esistenti nei metadati, puoi eseguire le seguenti 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, puoi scegliere una delle seguenti opzioni:
Crea gli utenti nell'istanza di replica Cloud SQL di destinazione prima di avviare il job di migrazione.
Crea un job di migrazione senza avviarlo. In altre parole, scegli Crea instead of Crea e avvia.
Crea gli utenti dall'istanza MySQL di origine nell'istanza Cloud SQL di destinazione utilizzando l'API o l'interfaccia utente di Cloud SQL.
Avvia il job di migrazione dall'elenco dei job di migrazione o dalla pagina del job specifico.
Aggiorna la clausola
DEFINER
inINVOKER
sull'istanza MySQL di origine prima di configurare il job di migrazione.