Halaman ini menjelaskan cara mengonfigurasi instance database sumber berikut untuk migrasi MySQL homogen berkelanjutan:
- Cloud SQL untuk MySQL
- MySQL yang dihosting sendiri
- Amazon RDS for MySQL
- Amazon Aurora untuk MySQL
- Microsoft Azure Database for MySQL
Mengonfigurasi sumber Cloud SQL untuk MySQL
Untuk mengonfigurasi instance sumber Cloud SQL untuk MySQL untuk proses migrasi Anda, lakukan hal berikut:
- Periksa apakah database sumber Anda berisi metadata yang ditentukan oleh pengguna
dengan klausa
DEFINER. Lihat Memverifikasi metadata dengan klausaDEFINER.Database Migration Service untuk migrasi MySQL homogen tidak memigrasikan akun dan login pengguna. Sumber yang berisi metadata yang ditentukan oleh akun pengguna dengan klausa
DEFINERdapat memblokir migrasi Anda. - Jika database sumber Anda berisi objek yang mereferensikan
tabel dalam skema sistem
mysql,performance_schema,information_schema,ndbinfo, atausys, pastikan database replika juga berisi tabel skema sistem ini.Jika database replika tidak memiliki tabel ini, tugas migrasi Anda mungkin gagal dengan
Unknown table in system schema. -
Aktifkan dan konfigurasi log biner di database sumber Anda.
Di Cloud SQL untuk MySQL, logging biner diaktifkan secara otomatis saat Anda menggunakan pemulihan point-in-time (PITR). Anda dapat mengonfigurasi format log dan periode retensi data dengan flag sistem yang tersedia di Cloud SQL. Lakukan tindakan berikut:
- Aktifkan PITR di instance Anda. Fitur ini otomatis mengaktifkan logging biner. Logging biner tidak dapat diaktifkan tanpa PITR di Cloud SQL. Lihat Pemulihan point-in-time (PITR) dalam dokumentasi Cloud SQL.
- Gunakan flag Cloud SQL untuk menyesuaikan konfigurasi logging.
Untuk mengetahui detail selengkapnya, lihat
Mengonfigurasi flag database
dalam dokumentasi Cloud SQL.
- Database Migration Service mengharuskan
binlog_formatditetapkan keROW. Anda tidak perlu menyesuaikan setelan ini, Cloud SQL untuk MySQL secara otomatis menetapkan flagbinlog_formatkeROW. - Tetapkan
periode retensi log ke jangka waktu yang cukup lama untuk mendukung
migrasi database. Umumnya, satu minggu sudah cukup.
Gunakan salah satu flag berikut:
- MySQL 5.6 - 5.7:
expire_logs_days - MySQL 8.0 dan yang lebih baru:
expire_logs_days,binlog_expire_logs_seconds
- MySQL 5.6 - 5.7:
- Database Migration Service mengharuskan
-
Buat akun pengguna migrasi khusus di instance Anda. Lihat Membuat pengguna dalam dokumentasi Cloud SQL. Pastikan bahwa:
- Anda mengizinkan akun pengguna khusus untuk terhubung dari host mana pun
(
host=%). - Sandi untuk akun tidak melebihi 32 karakter. Untuk mengetahui informasi selengkapnya tentang batasan panjang sandi pengguna MySQL, lihat Bug MySQL #43439.
- Anda mengizinkan akun pengguna khusus untuk terhubung dari host mana pun
(
-
Tetapkan hak istimewa yang diperlukan ke akun pengguna migrasi khusus. Untuk migrasi berkelanjutan, daftar lengkap hak istimewa yang diperlukan bergantung pada apakah Anda menyediakan file dump sendiri atau menggunakan fitur dump terkelola Database Migration Service:
Managed dump
Jika Anda ingin Database Migration Service mengambil dump lengkap database sumber secara otomatis, tetapkan hak istimewa berikut ke akun pengguna:
REPLICATION SLAVEEXECUTEREPLICATION CLIENTSELECTSHOW VIEWTRIGGERRELOAD- Untuk MySQL sumber versi 8.0 atau yang lebih baru: Pastikan akun migrasi
tidak memiliki hak istimewa
BACKUP_ADMIN.
Dump manual
Jika Anda memberikan file dump Anda sendiri yang dibuat dengan
mysqldump, Anda harus memberikan hak istimewa yang diperlukan untuk fase CDC:
Mengonfigurasi sumber MySQL yang dihosting sendiri
Untuk mengonfigurasi instance sumber MySQL yang dihosting sendiri untuk proses migrasi, lakukan hal berikut:
- Pastikan semua tabel Anda (kecuali tabel dalam database sistem) menggunakan mesin penyimpanan InnoDB. Jika Anda menggunakan mesin penyimpanan yang berbeda, Anda mungkin perlu mengonversi tabel Anda. Untuk mengetahui informasi selengkapnya, lihat Mengonversi Tabel dari MyISAM ke InnoDB.
- Periksa apakah database sumber Anda berisi metadata yang ditentukan oleh pengguna
dengan klausa
DEFINER. Lihat Memverifikasi metadata dengan klausaDEFINER.Database Migration Service untuk migrasi MySQL homogen tidak memigrasikan akun dan login pengguna. Sumber yang berisi metadata yang ditentukan oleh akun pengguna dengan klausa
DEFINERdapat memblokir migrasi Anda. - Jika database sumber Anda berisi objek yang mereferensikan
tabel dalam skema sistem
mysql,performance_schema,information_schema,ndbinfo, atausys, pastikan database replika juga berisi tabel skema sistem ini.Jika database replika tidak memiliki tabel ini, tugas migrasi Anda mungkin gagal dengan
Unknown table in system schema. - Konfigurasi setelan
server-idke nilai1atau lebih besar. Untuk mengetahui informasi selengkapnya, lihat Opsi dan Variabel Replikasi dan Logging Biner. -
Pastikan
GTID_MODEditetapkan keONatauOFF, nilai lain tidak didukung.Database Migration Service memerlukan
GTID_MODEyang ditetapkan keONdalam skenario berikut:- Saat Anda melakukan migrasi ke instance tujuan yang sudah ada yang telah mengaktifkan replika baca.
- Jika Anda ingin menyiapkan replika baca bertingkat setelah menyelesaikan proses migrasi.
- Jika Anda berencana membuat file dump secara manual dan menyediakannya dalam tugas migrasi.
Untuk mengetahui informasi selengkapnya tentang
GTID_MODE, lihat Variabel Sistem ID Transaksi Global. -
Aktifkan dan konfigurasi log biner di database sumber Anda. Lakukan tindakan berikut:
- Aktifkan log biner di database sumber Anda.
- Tetapkan
binlog_formatke'ROW'. Lihat Logging biner berbasis baris. - Tetapkan
periode retensi log ke jangka waktu yang cukup lama untuk mendukung
migrasi database. Umumnya, satu minggu sudah cukup.
Gunakan salah satu flag berikut:
- MySQL 5.5 - 5.7:
expire_logs_days - MySQL 8.0:
expire_logs_days,binlog_expire_logs_seconds
- MySQL 5.5 - 5.7:
-
Buat akun pengguna migrasi khusus di instance Anda. Lihat Pernyataan pengelolaan akun. Pastikan bahwa:
- Anda mengizinkan akun pengguna khusus untuk terhubung dari host mana pun
(
host=%). - Sandi untuk akun tidak melebihi 32 karakter. Untuk mengetahui informasi selengkapnya tentang batasan panjang sandi pengguna MySQL, lihat Bug MySQL #43439.
- Anda mengizinkan akun pengguna khusus untuk terhubung dari host mana pun
(
-
Tetapkan hak istimewa yang diperlukan ke akun pengguna migrasi khusus. Untuk migrasi berkelanjutan, daftar lengkap hak istimewa yang diperlukan bergantung pada apakah Anda menyediakan file dump sendiri atau menggunakan fitur dump terkelola Database Migration Service:
Managed dump
Jika Anda ingin Database Migration Service otomatis mengambil dump lengkap database sumber, tetapkan hak istimewa berikut ke akun pengguna:
REPLICATION SLAVEEXECUTEREPLICATION CLIENTSELECTSHOW VIEWTRIGGER- Untuk sumber dengan setelan
GTID_MODE = ON:RELOADDengan alur dump terkelola, Database Migration Service hanya memerlukan setelan
GTID_MODE = ONsaat Anda melakukan migrasi ke instance tujuan yang ada dengan replika baca yang diaktifkan. - Untuk MySQL sumber versi 8.0 atau yang lebih baru: Pastikan akun migrasi
tidak memiliki hak istimewa
BACKUP_ADMIN.
Dump manual
Jika Anda menyediakan file dump yang dibuat dengan
mysqldump, Anda harus memberikan hak istimewa yang diperlukan untuk fase CDC:
Mengonfigurasi sumber Amazon RDS for MySQL
Untuk mengonfigurasi instance sumber Amazon RDS for MySQL untuk proses migrasi Anda, lakukan hal berikut:
- Amazon RDS for MySQL menggunakan mesin penyimpanan InnoDB secara default, tetapi memungkinkan penggunaan mesin penyimpanan lain. Pastikan semua tabel Anda (kecuali tabel dalam database sistem) menggunakan mesin penyimpanan InnoDB. Jika Anda menggunakan mesin penyimpanan yang berbeda, Anda mungkin perlu mengonversi tabel Anda. Untuk mengetahui informasi selengkapnya, lihat Mengonversi Tabel dari MyISAM ke InnoDB.
- Periksa apakah database sumber Anda berisi metadata yang ditentukan oleh pengguna dengan klausa
DEFINER. Lihat Memverifikasi metadata dengan klausaDEFINER.Database Migration Service untuk migrasi MySQL homogen tidak memigrasikan akun dan login pengguna. Sumber yang berisi metadata yang ditentukan oleh akun pengguna dengan klausa
DEFINERdapat memblokir migrasi Anda. - Jika database sumber Anda berisi objek yang mereferensikan
tabel dalam skema sistem
mysql,performance_schema,information_schema,ndbinfo, atausys, pastikan database replika juga berisi tabel skema sistem ini.Jika database replika tidak memiliki tabel ini, tugas migrasi Anda mungkin gagal dengan
Unknown table in system schema. -
Pastikan
GTID_MODEditetapkan keONatauOFF, nilai lain tidak didukung. Amazon RDS for MySQL menggunakanGTID_MODE = OFFsecara default.Database Migration Service memerlukan
GTID_MODEyang ditetapkan keONdalam skenario berikut:- Saat Anda melakukan migrasi ke instance tujuan yang sudah ada yang telah mengaktifkan replika baca.
- Jika Anda berencana membuat file dump secara manual dan menyediakannya dalam tugas migrasi.
Untuk mengetahui informasi selengkapnya tentang
GTID_MODE, lihat Variabel Sistem ID Transaksi Global. -
Verifikasi dan konfigurasi log biner di database sumber Anda. Lakukan tindakan berikut:
- Pastikan instance Anda menggunakan pencadangan otomatis. Amazon RDS hanya membuat log biner jika pencadangan otomatis diaktifkan. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan pencadangan otomatis dalam dokumentasi Amazon RDS.
-
Tetapkan periode retensi log ke periode yang cukup lama untuk mendukung migrasi database. Umumnya, satu minggu sudah cukup. Lihat Menetapkan dan menampilkan konfigurasi log biner dalam dokumentasi Amazon RDS.
- Mulai ulang server agar perubahan yang Anda buat dapat diterapkan.
-
Buat akun pengguna migrasi khusus di instance Anda. Lihat Pernyataan pengelolaan akun. Pastikan bahwa:
- Anda mengizinkan akun pengguna khusus untuk terhubung dari host mana pun
(
host=%). - Sandi untuk akun tidak melebihi 32 karakter. Untuk mengetahui informasi selengkapnya tentang batasan panjang sandi pengguna MySQL, lihat Bug MySQL #43439.
- Anda mengizinkan akun pengguna khusus untuk terhubung dari host mana pun
(
-
Tetapkan hak istimewa yang diperlukan ke akun pengguna migrasi khusus. Untuk migrasi berkelanjutan, daftar lengkap hak istimewa yang diperlukan bergantung pada apakah Anda menyediakan file dump sendiri atau menggunakan fitur dump terkelola Database Migration Service:
Managed dump
Jika Anda ingin Database Migration Service otomatis mengambil dump lengkap database sumber, tetapkan hak istimewa berikut ke akun pengguna:
REPLICATION SLAVEEXECUTEREPLICATION CLIENTSELECTSHOW VIEWTRIGGERLOCK TABLES- Untuk sumber dengan setelan
GTID_MODE = ON:RELOADDengan alur dump terkelola, Database Migration Service hanya memerlukan setelan
GTID_MODE = ONsaat Anda melakukan migrasi ke instance tujuan yang ada dengan replika baca yang diaktifkan. - Untuk MySQL sumber versi 8.0 atau yang lebih baru: Pastikan akun migrasi
tidak memiliki hak istimewa
BACKUP_ADMIN.
Dump manual
Jika Anda menyediakan file dump yang dibuat dengan
mysqldump, Anda harus memberikan hak istimewa yang diperlukan untuk fase CDC:
Mengonfigurasi sumber Amazon Aurora untuk MySQL
Untuk mengonfigurasi instance sumber Amazon Aurora for MySQL untuk proses migrasi Anda, lakukan hal berikut:
- Periksa apakah database sumber Anda berisi metadata yang ditentukan oleh pengguna
dengan klausa
DEFINER. Lihat Memverifikasi metadata dengan klausaDEFINER.Database Migration Service untuk migrasi MySQL homogen tidak memigrasikan akun pengguna dan login. Sumber yang berisi metadata yang ditentukan oleh akun pengguna dengan klausa
DEFINERdapat memblokir migrasi Anda. - Jika database sumber Anda berisi objek yang mereferensikan
tabel dalam skema sistem
mysql,performance_schema,information_schema,ndbinfo, atausys, pastikan database replika juga berisi tabel skema sistem ini.Jika database replika tidak memiliki tabel ini, tugas migrasi Anda mungkin gagal dengan
Unknown table in system schema. -
Pastikan
GTID_MODEditetapkan keONatauOFF, nilai lain tidak didukung. Amazon Aurora untuk MySQL menggunakanGTID_MODE = OFFsecara default.Database Migration Service memerlukan
GTID_MODEyang ditetapkan keONdalam skenario berikut:- Saat Anda melakukan migrasi ke instance tujuan yang sudah ada yang telah mengaktifkan replika baca.
- Jika Anda berencana membuat file dump secara manual dan menyediakannya dalam tugas migrasi.
Untuk mengetahui informasi selengkapnya tentang
GTID_MODE, lihat Variabel Sistem ID Transaksi Global. -
Aktifkan dan konfigurasi log biner di database sumber Anda. Lakukan tindakan berikut:
- Aktifkan logging biner untuk database MySQL Anda.
-
Tetapkan periode retensi log ke periode yang cukup lama untuk mendukung migrasi database. Umumnya, satu minggu sudah cukup. Lihat Menetapkan dan menampilkan konfigurasi log biner.
- Mulai ulang server agar perubahan yang Anda buat dapat diterapkan.
-
Buat akun pengguna migrasi khusus di instance Anda. Lihat Pernyataan pengelolaan akun. Pastikan bahwa:
- Anda mengizinkan akun pengguna khusus untuk terhubung dari host mana pun
(
host=%). - Sandi untuk akun tidak melebihi 32 karakter. Untuk mengetahui informasi selengkapnya tentang batasan panjang sandi pengguna MySQL, lihat Bug MySQL #43439.
- Anda mengizinkan akun pengguna khusus untuk terhubung dari host mana pun
(
-
Tetapkan hak istimewa yang diperlukan ke akun pengguna migrasi khusus. Untuk migrasi berkelanjutan, daftar lengkap hak istimewa yang diperlukan bergantung pada apakah Anda menyediakan file dump sendiri atau menggunakan fitur dump terkelola Database Migration Service:
Managed dump
Jika Anda ingin Database Migration Service otomatis mengambil dump lengkap database sumber, tetapkan hak istimewa berikut ke akun pengguna:
REPLICATION SLAVEEXECUTEREPLICATION CLIENTSELECTSHOW VIEWTRIGGERLOCK TABLES- Untuk sumber dengan setelan
GTID_MODE = ON:RELOADDengan alur dump terkelola, Database Migration Service hanya memerlukan setelan
GTID_MODE = ONsaat Anda melakukan migrasi ke instance tujuan yang sudah ada yang telah mengaktifkan replika baca. - Untuk MySQL sumber versi 8.0 atau yang lebih baru: Pastikan akun migrasi
tidak memiliki hak istimewa
BACKUP_ADMIN.
Dump manual
Jika Anda menyediakan file dump yang dibuat dengan
mysqldump, Anda harus memberikan hak istimewa yang diperlukan untuk fase CDC:
Mengonfigurasi sumber Microsoft Azure Database for MySQL
Untuk mengonfigurasi instance sumber Microsoft Azure Database for MySQL untuk proses migrasi, lakukan hal berikut:
- Periksa apakah database sumber Anda berisi metadata yang ditentukan oleh pengguna
dengan klausa
DEFINER. Lihat Memverifikasi metadata dengan klausaDEFINER.Database Migration Service untuk migrasi MySQL homogen tidak memigrasikan akun dan login pengguna. Sumber yang berisi metadata yang ditentukan oleh akun pengguna dengan klausa
DEFINERdapat memblokir migrasi Anda. - Jika database sumber Anda berisi objek yang mereferensikan
tabel dalam skema sistem
mysql,performance_schema,information_schema,ndbinfo, atausys, pastikan database replika juga berisi tabel skema sistem ini.Jika database replika tidak memiliki tabel ini, tugas migrasi Anda mungkin gagal dengan
Unknown table in system schema. -
Pastikan
GTID_MODEditetapkan keONatauOFF, nilai lain tidak didukung. Microsoft Azure Database for MySQL menggunakanGTID_MODE = OFFsecara default.Database Migration Service memerlukan
GTID_MODEyang ditetapkan keONdalam skenario berikut:- Saat Anda melakukan migrasi ke instance tujuan yang sudah ada yang telah mengaktifkan replika baca.
- Jika Anda berencana membuat file dump secara manual dan menyediakannya dalam tugas migrasi.
Untuk mengetahui informasi selengkapnya tentang
GTID_MODE, lihat Variabel Sistem ID Transaksi Global. -
Verifikasi dan konfigurasi setelan logging biner di database sumber Anda. Lakukan tindakan berikut:
- Logging biner diaktifkan secara default di Microsoft Azure Database for MySQL. Anda tidak perlu mengaktifkannya, tetapi pastikan fitur ini diaktifkan. Untuk mengetahui informasi selengkapnya, lihat dokumentasi Microsoft.
-
Tetapkan
binlog_expire_logs_secondske periode yang cukup lama untuk mendukung migrasi database. Umumnya, satu minggu sudah cukup.Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi parameter server di Azure Database for MySQL dan parameter
binlog_expire_logs_secondsdalam dokumentasi Microsoft. - Mulai ulang server agar perubahan yang Anda buat dapat diterapkan.
Periksa nilai setelan
require_secure_transportAnda.Secara default, database Microsoft Azure memerlukan enkripsi SSL/TLS untuk semua koneksi masuk. Bergantung pada nilai
require_secure_transport, gunakan salah satu setelan enkripsi berikut saat Anda membuat profil koneksi sumber:- Jika
require_secure_transportdisetel keon, pilih Basic, TLS, atau mTLS. - Jika
require_secure_transportditetapkan keoff, pilih None.
- Jika
-
Buat akun pengguna migrasi khusus di instance Anda. Lihat Pernyataan pengelolaan akun. Pastikan bahwa:
- Anda mengizinkan akun pengguna khusus untuk terhubung dari host mana pun
(
host=%). - Sandi untuk akun tidak melebihi 32 karakter. Untuk mengetahui informasi selengkapnya tentang batasan panjang sandi pengguna MySQL, lihat Bug MySQL #43439.
- Anda mengizinkan akun pengguna khusus untuk terhubung dari host mana pun
(
-
Tetapkan hak istimewa yang diperlukan ke akun pengguna migrasi khusus. Untuk migrasi berkelanjutan, daftar lengkap hak istimewa yang diperlukan bergantung pada apakah Anda menyediakan file dump sendiri atau menggunakan fitur dump terkelola Database Migration Service:
Managed dump
Jika Anda ingin Database Migration Service mengambil dump lengkap database sumber secara otomatis, tetapkan hak istimewa berikut ke akun pengguna:
REPLICATION SLAVEEXECUTEREPLICATION CLIENTSELECTSHOW VIEWTRIGGER- Untuk sumber dengan setelan
GTID_MODE = ON:RELOADDengan alur dump terkelola, Database Migration Service hanya memerlukan setelan
GTID_MODE = ONsaat Anda melakukan migrasi ke instance tujuan yang ada dengan replika baca yang diaktifkan. - Untuk MySQL sumber versi 8.0 atau yang lebih baru: Pastikan akun migrasi
tidak memiliki hak istimewa
BACKUP_ADMIN.
Dump manual
Jika Anda menyediakan file dump yang dibuat dengan
mysqldump, Anda harus memberikan hak istimewa yang diperlukan untuk fase CDC:
Langkah berikutnya
Untuk mendapatkan panduan migrasi langkah demi langkah yang lengkap untuk migrasi Cloud SQL untuk MySQL yang homogen, lihat Memulai migrasi Cloud SQL untuk MySQL.