Batasan umum

Sebelum Anda memilih untuk memigrasikan database ke Cloud SQL, pertimbangkan batasan yang diketahui untuk skenario migrasi ini.

Batasan yang diketahui untuk menggunakan database MySQL sebagai sumber mencakup:

  • Untuk memigrasikan database terenkripsi, Anda harus memberikan kunci enkripsi ke Database Migration Service. Database Migration Service mendukung migrasi data dari database Amazon Aurora atau Amazon RDS terenkripsi karena database ini menangani dekripsi secara transparan dalam layanannya. Untuk mengetahui informasi selengkapnya, lihat Mengenkripsi resource Amazon Aurora, Mengenkripsi resource Amazon RDS, dan Mengonfigurasi kunci enkripsi yang dikelola pelanggan (CMEK).

  • Migrasi ke MySQL 5.6, MySQL 8.4, atau MySQL 9.7 dengan file cadangan fisik Percona XtraBackup tidak didukung.

  • Untuk migrasi MySQL 8.0 ke MySQL 8.4 dan MySQL 8.4 ke MySQL 9.7:

    • Database tujuan Anda harus memiliki flag local_infile yang ditetapkan ke ON.
    • Akun migrasi khusus di instance sumber tidak boleh memiliki hak istimewa BACKUP_ADMIN.

    Pertimbangan ini juga dibahas di bagian yang relevan, seperti halaman Mengonfigurasi database sumber.

  • Saat Anda melakukan migrasi di seluruh versi utama MySQL (misalnya, dari MySQL 8.0 ke MySQL 8.4), Anda harus mengatasi kemungkinan inkompatibilitas untuk memastikan migrasi yang lancar tanpa masalah konsistensi data.

    Saat Anda bersiap untuk migrasi lintas versi, tinjau fitur yang didukung oleh Cloud SQL untuk MySQL serta catatan rilis untuk versi utama target Anda guna menentukan inkompatibilitas yang perlu Anda atasi.

  • Selama fase dump data lengkap, Anda tidak dapat melakukan operasi bahasa definisi data (DDL) apa pun (seperti ALTER TABLE, DROP TABLE, TRUNCATE TABLE) di database sumber. Menjalankan operasi ini selama fase dump lengkap dapat menyebabkan kebuntuan metadata, yang menyebabkan proses migrasi gagal (dengan Table definition has changed error) atau berhenti merespons (dan melaporkan error waktu tunggu seperti ERROR: While 'Loading data': Dump timeout atau MySQL Error 2013 (HY000): Lost connection to MySQL server during query). Anda dapat melakukan perubahan DDL pada database sumber selama fase CDC. Untuk mengetahui informasi selengkapnya, lihat entri berikut di bagian pemecahan masalah:

  • Jika sumbernya adalah Amazon RDS MySQL, Amazon Aurora MySQL, atau sumber yang tidak memberikan hak istimewa SUPERUSER, langkah-langkah tambahan diperlukan agar migrasi berhasil, termasuk waktu nonaktif tulis singkat di sumber. Untuk mengetahui informasi selengkapnya, lihat bagian Mengonfigurasi database sumber untuk Amazon RDS dan Amazon Aurora.

  • Database Migration Service tidak dapat memigrasikan data dari instance replika baca Amazon Aurora atau instance replika baca MySQL Oracle Cloud Infrastructure (OCI) karena file log biner tidak dapat diambil dari instance. Untuk mengetahui informasi selengkapnya tentang Amazon Aurora, lihat bagian khusus Amazon Aurora .

  • Saat melakukan migrasi dari replika baca MySQL yang dikelola sendiri, GTID tidak didukung. Anda harus menggunakan replikasi berbasis posisi dan file log biner. Untuk mengetahui informasi selengkapnya, lihat Jenis dan fase migrasi.

  • Database sistem MySQL tidak dimigrasikan sebagai bagian dari migrasi server, sehingga informasi tentang akun pengguna, login, dan peran tidak disertakan.

  • Meskipun Anda dapat memilih database tertentu untuk dimigrasikan, Anda tidak dapat memfilter atau memilih objek database individual dalam database (seperti tabel, tampilan, atau prosedur tersimpan tertentu) saat melakukan migrasi menggunakan Database Migration Service. Semua tabel dan objek InnoDB dari setiap database yang dipilih akan dimigrasikan, kecuali skema sistem berikut: mysql, performance_schema, information_schema, dan sys. Sebelum memulai migrasi, pastikan database sumber Anda tidak berisi objek yang mereferensikan tabel dalam skema ini. Jika tidak, migrasi Anda dapat gagal dengan pesan ERROR 1109 (42S02): Unknown table in <schema name here>. Lihat Mengonfigurasi database sumber dan Mendiagnosis masalah.

  • Selama migrasi, database Cloud SQL tujuan berada dalam mode hanya baca, untuk mencegah modifikasi database yang dapat merusak proses migrasi atau integritas data. Setelah tujuan dipromosikan, tujuan tersebut akan dapat ditulis.

  • Database Migration Service tidak kompatibel dengan MariaDB.

  • Anda harus menetapkan format log biner ke ROW. Mengonfigurasi log biner ke format lain, seperti STATEMENT atau MIXED, dapat menyebabkan replikasi gagal. Misalnya, menggunakan pernyataan LOAD DATA IN FILE.

    Pelajari lebih lanjut batasan ini untuk format STATEMENT atau MIXED.

  • Jika Anda membuat tugas migrasi berkelanjutan menggunakan file dump Anda sendiri, jangan gunakan utilitas mysqldump dari MySQL versi 5.7.36. Untuk mengetahui informasi selengkapnya, lihat bug #105761 dalam dokumentasi MySQL.

  • InnoDB adalah satu-satunya mesin penyimpanan yang didukung untuk Cloud SQL. Bermigrasi dengan MyISAM dapat menyebabkan inkonsistensi data dan validasi data perlu dilakukan. Untuk mendapatkan bantuan dalam mengonversi tabel dari MyISAM ke InnoDB, lihat dokumentasi MySQL.

  • Metode konektivitas antarmuka Private Service Connect hanya didukung untuk migrasi ke instance tujuan yang ada. Jika Anda ingin menggunakan konektivitas IP pribadi dan melakukan migrasi ke instance tujuan baru, gunakan peering VPC.

Pertimbangan paralelisme dump data

Paralelisme dump data memungkinkan Anda melakukan migrasi dari database MySQL menggunakan mekanisme dump berperforma tinggi, sehingga meningkatkan kecepatan migrasi secara signifikan. Saat menggunakan paralelisme dump data, pertimbangkan hal berikut:

  • Paralelisme dump data hanya tersedia saat melakukan migrasi ke MySQL versi 5.7, 8.0, 8.4, atau 9.7.

  • Pada awal dump data, Database Migration Service akan mengunci database sumber Anda secara singkat sehingga database tersebut tidak tersedia untuk penulisan sementara. Durasi penguncian bergantung pada jumlah tabel dalam database sumber:

    Jumlah tabel Perkiraan waktu penguncian
    100 1 detik
    10K 9 detik
    50K 49 detik

Batasan untuk migrasi ke instance tujuan yang ada

  • Instance tujuan yang ada hanya dapat berisi database sistem default yang disiapkan secara otomatis saat Anda membuat instance tujuan. Migrasi ke instance tujuan yang ada yang berisi data pengguna (seperti tabel dalam skema sistem, atau database) tidak didukung.

    Jika Anda mengalami masalah karena data tambahan di instance tujuan yang ada hapus database di instance tujuan Anda dan coba lagi tugas migrasi. Lihat Menghapus data tambahan dari instance tujuan yang ada.

  • Anda hanya dapat mengonfigurasi satu tugas migrasi per instance tujuan.
  • Anda hanya dapat melakukan migrasi ke instance Cloud SQL mandiri. Migrasi ke replika server eksternal tidak didukung.
  • Migrasi ke instance Cloud SQL yang memiliki replika baca mengharuskan instance sumber Anda mengaktifkan logging ID transaksi global (GTID) diaktifkan.
  • Anda tidak dapat menggunakan replika baca Cloud SQL untuk MySQL sebagai instance tujuan migrasi instance.
  • Untuk pengguna Terraform: Database Migration Service mengubah setelan pencadangan dan pemulihan instance tujuan Anda. Hal ini dapat menyebabkan setelan instance tujuan berbeda dengan konfigurasi Terraform yang Anda gunakan untuk penyediaan. Jika Anda mengalami masalah ini, ikuti panduan di Mendiagnosis masalah.

Kuota

  • Maksimal 2.000 profil koneksi dan 1.000 tugas migrasi dapat ada kapan saja. Untuk membuat ruang bagi lebih banyak tugas migrasi dan profil koneksi, tugas migrasi (termasuk tugas yang telah selesai) dan profil koneksi dapat dihapus.