Descripción general
Un trabajo de migración de MySQL no migra los datos del usuario. Por lo tanto, las fuentes que contienen metadatos definidos por los usuarios con la cláusula DEFINER
fallarán cuando se invoquen en la réplica nueva de Cloud SQL, ya que los usuarios aún no existen allí.
Para identificar qué valores de DEFINER
existen en tus metadatos, puedes ejecutar las siguientes consultas en tu base de datos de origen de MySQL. Verifica los resultados en busca de entradas para root%localhost
o para usuarios que no existen en la instancia de destino:
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');
Para ejecutar un trabajo de migración desde una fuente que incluye esos metadatos, puedes realizar una de las siguientes acciones:
Crea los usuarios en la instancia de réplica de Cloud SQL de destino antes de iniciar tu trabajo de migración.
Crea un trabajo de migración sin iniciarlo. Es decir, elige Crear en lugar de Crear y comenzar.
Crea los usuarios de tu instancia de MySQL de origen en tu instancia de Cloud SQL de destino con la API o la IU de Cloud SQL.
Inicia el trabajo de migración desde la lista de trabajos de migración o la página del trabajo específico.
Actualiza la cláusula
DEFINER
aINVOKER
en tu instancia de MySQL de origen antes de configurar el trabajo de migración.