개요
MySQL 이전 작업은 사용자 데이터를 이전하지 않습니다. 따라서 사용자가 DEFINER
절로 정의한 메타데이터가 포함된 소스는 새 Cloud SQL 복제본에서 호출될 때 실패합니다. 사용자가 아직 존재하지 않기 때문입니다.
메타데이터에 어느 DEFINER
값이 있는지 식별하려면 MySQL 소스 데이터베이스에서 다음 쿼리를 실행하면 됩니다. 결과에서 root%localhost
항목 또는 대상 인스턴스에 없는 사용자를 확인합니다.
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');
이러한 메타데이터가 포함된 소스에서 마이그레이션 작업을 실행하려면 다음 중 하나를 수행하면 됩니다.
마이그레이션 작업을 시작하기 전에 대상 Cloud SQL 복제본 인스턴스에서 사용자를 만듭니다.
마이그레이션 작업을 시작하지 않고 만듭니다. 즉, 만들기 및 시작 대신 만들기를 선택합니다.
Cloud SQL API 또는 UI를 사용하여 소스 MySQL 인스턴스의 사용자를 대상 Cloud SQL 인스턴스에 만듭니다.
마이그레이션 작업 목록 또는 특정 작업 페이지에서 마이그레이션 작업을 시작합니다.
마이그레이션 작업을 설정하기 전에 소스 MySQL 인스턴스에서
DEFINER
절을INVOKER
로 업데이트합니다.