Un job de migration MySQL
ne migre pas les comptes et connexions utilisateur.
Les sources contenant des métadonnées définies par des utilisateurs avec la clause DEFINER échouent lorsqu'elles sont appelées sur la nouvelle instance répliquée Cloud SQL, car les utilisateurs n'y existent pas encore.
Pour identifier les valeurs DEFINER présentes dans vos métadonnées, interrogez votre base de données source MySQL. Vérifiez les résultats pour les entrées root%localhost ou pour les utilisateurs qui n'existent pas dans l'instance de destination :
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');
Pour exécuter un job de migration à partir d'une source incluant de telles métadonnées, procédez de l'une des manières suivantes :
Créez les utilisateurs sur l'instance répliquée Cloud SQL de destination avant de démarrer votre job de migration.
Pour créer un brouillon de job de migration sans le démarrer, sélectionnez Créer au lieu de Créer et démarrer.
Sur votre instance Cloud SQL de destination, recréez les utilisateurs de votre instance MySQL source à l'aide de l'API Cloud SQL ou de la Google Cloud console.
Dans la liste des jobs de migration ou sur la page du job spécifique, démarrez le job de migration.
Remplacez la clause
DEFINERparINVOKERsur votre instance MySQL source avant de configurer votre job de migration.