Crea y ejecuta un trabajo de migración de MySQL que contenga metadatos con una cláusula DEFINER

Un trabajo de migración de MySQL no migra cuentas de usuario ni accesos. Las fuentes que contienen metadatos definidos por los usuarios con la cláusula DEFINER fallan cuando se invocan en la nueva réplica de Cloud SQL, ya que los usuarios aún no existen allí.

Para identificar qué valores DEFINER existen en tus metadatos, consulta tu base de datos de origen de MySQL. Verifica los resultados de las entradas para root%localhost o para los 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, haz una de las siguientes acciones:

  1. Crea los usuarios en la instancia de réplica de Cloud SQL de destino antes de iniciar el trabajo de migración.

    1. Para crear un trabajo de migración de borrador sin iniciarlo, selecciona Crear en lugar de Crear y comenzar.

    2. En tu instancia de Cloud SQL de destino, vuelve a crear los usuarios de tu instancia de MySQL de origen con la API de Cloud SQL o la Google Cloud consola.

    3. En la lista de trabajos de migración o en la página del trabajo específico, inicia el trabajo de migración.

  2. Actualiza la cláusula DEFINER a INVOKER en tu instancia de MySQL de origen antes de configurar el trabajo de migración.