Bei einem MySQL-Migrationsjob
werden keine Nutzerkonten und Anmeldungen migriert.
Quellen, die Metadaten enthalten, die von Nutzern mit der DEFINER-Anweisung definiert wurden, schlagen beim Aufruf im neuen Cloud SQL-Replikat fehl, da die Nutzer dort noch nicht vorhanden sind.
Wenn Sie ermitteln möchten, welche DEFINER-Werte in Ihren Metadaten vorhanden sind, fragen Sie Ihre MySQL-Quelldatenbank ab. Prüfen Sie die Ergebnisse auf Einträge für root%localhost oder für Nutzer, die in der Zielinstanz nicht vorhanden sind:
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');
Wenn Sie einen Migrationsjob aus einer Quelle ausführen möchten, die solche Metadaten enthält, haben Sie folgende Möglichkeiten:
Erstellen Sie die Nutzer in der Cloud SQL-Zielreplikatinstanz, bevor Sie den Migrationsjob starten.
Wenn Sie einen Migrationsjobentwurf erstellen möchten, ohne ihn zu starten, wählen Sie Erstellen anstelle von Erstellen und starten aus.
Erstellen Sie die Nutzer aus Ihrer MySQL-Quellinstanz in Ihrer Cloud SQL-Zielinstanz neu. Verwenden Sie dazu die Cloud SQL API oder die Google Cloud Console.
Starten Sie den Migrationsjob in der Liste der Migrationsjobs oder auf der Seite für den jeweiligen Job.
Aktualisieren Sie die
DEFINER-Anweisung in Ihrer MySQL-Quellinstanz vor dem Einrichten des Migrationsjobs zuINVOKER.