Ringkasan
Tugas migrasi MySQL
tidak memigrasikan data pengguna. Oleh karena itu,
sumber yang berisi metadata yang ditentukan pengguna dengan klausa DEFINER akan gagal
saat dipanggil di replika Cloud SQL baru, karena pengguna belum
ada di sana.
Untuk mengidentifikasi nilai DEFINER mana yang ada dalam metadata, kueri database sumber MySQL Anda. Periksa hasil untuk entri root%localhost atau pengguna yang tidak ada di instance tujuan:
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');
Untuk menjalankan tugas migrasi dari sumber yang menyertakan metadata tersebut, lakukan salah satu hal berikut:
Buat pengguna di instance replika Cloud SQL tujuan sebelum memulai tugas migrasi Anda.
Untuk membuat draf tugas migrasi tanpa memulainya, pilih Buat, bukan Buat & Mulai.
Di instance Cloud SQL tujuan, buat ulang pengguna dari instance MySQL sumber menggunakan Cloud SQL API atau konsol Google Cloud .
Dari daftar tugas migrasi atau halaman untuk tugas tertentu, mulai tugas migrasi.
Perbarui klausa
DEFINERmenjadiINVOKERpada instance MySQL sumber Anda sebelum menyiapkan tugas migrasi.