Visão geral
Um job de migração do MySQL não migra dados do usuário. Portanto, as fontes que contêm metadados definidos pelo usuário com a cláusula DEFINER falham quando invocadas na nova réplica do Cloud SQL, porque os usuários ainda não existem.
Para identificar quais valores DEFINER existem nos seus metadados, consulte o banco de dados de origem do MySQL. Verifique os resultados de entradas para
root%localhost ou para usuários que não existem na instância 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 executar um job de migração de uma fonte que inclua esses metadados, faça o seguinte:
Crie os usuários na instância de réplica de destino do Cloud SQL antes de iniciar o job de migração.
Para criar um job de migração em rascunho sem iniciá-lo, selecione Criar em vez de Criar e iniciar.
Na instância de destino do Cloud SQL, recrie os usuários da instância de origem do MySQL usando a API Cloud SQL ou o console Google Cloud .
Na lista de jobs de migração ou na página do job específico, inicie o job de migração.
Atualize a cláusula
DEFINERparaINVOKERna instância de origem do MySQL antes de configurar o job de migração.