All Products
Search
Document Center

PolarDB:Migrasikan database MySQL yang dikelola sendiri ke PolarDB for MySQL

Last Updated:Mar 29, 2026

Migrasikan data dari database MySQL yang dikelola sendiri ke klaster PolarDB for MySQL menggunakan Data Transmission Service (DTS). DTS mendukung migrasi skema, migrasi data penuh, dan migrasi data inkremental sehingga Anda dapat menyelesaikan migrasi dengan downtime minimal atau nol.

Cara kerja

Ketiga fase migrasi berjalan secara berurutan:

  1. Schema migration — DTS menyalin skema objek yang dipilih (tabel, view, trigger, prosedur tersimpan, dan fungsi tersimpan) dari database sumber ke klaster PolarDB for MySQL.

  2. Full data migration — DTS menyalin seluruh data yang ada dari database sumber ke klaster.

  3. Incremental data migration — Setelah migrasi data penuh selesai, DTS terus mereplikasi perubahan yang sedang berlangsung dari database sumber. Hal ini menjaga sinkronisasi klaster sehingga Anda dapat melakukan alih bencana tanpa menghentikan aplikasi Anda.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Database MySQL yang dikelola sendiri yang menjalankan versi 5.1, 5.5, 5.6, 5.7, atau 8.0. Jika database di-host di platform cloud pihak ketiga, database tersebut harus dapat diakses melalui Internet.

  • Instans ApsaraDB RDS for MySQL tujuan dengan penyimpanan tersedia yang lebih besar daripada ukuran total data sumber. Lihat Buat instans ApsaraDB RDS for MySQL.

  • Klaster PolarDB for MySQL dengan penyimpanan tersedia yang lebih besar daripada ukuran total data sumber. Lihat Beli klaster Edisi Perusahaan atau Beli klaster subscription.

  • Akun database untuk database MySQL sumber dan akun untuk klaster PolarDB for MySQL tujuan dengan izin yang tercantum di Izin yang diperlukan.

  • Binary logging dikonfigurasi pada database sumber jika Anda berencana menggunakan migrasi data inkremental. Lihat Persyaratan binary logging.

Izin yang diperlukan

Tabel berikut mencantumkan izin minimum yang diperlukan untuk setiap jenis migrasi.

DatabaseSchema migrationFull data migrationIncremental data migration
Database MySQL yang dikelola sendiriSELECTSELECTSELECT pada objek yang akan dimigrasikan; REPLICATION CLIENT; REPLICATION SLAVE; SHOW VIEW; CREATE (untuk database dan tabel, memungkinkan DTS membuat database dts untuk menyimpan data heartbeat)
Klaster PolarDB for MySQLBaca dan tulisBaca dan tulisBaca dan tulis

Untuk petunjuk membuat akun dan memberikan izin:

Persyaratan binary logging

Migrasi data inkremental membaca dari log biner database sumber. Sebelum memulai tugas migrasi, verifikasi pengaturan berikut pada database sumber:

ParameterNilai yang diperlukanCatatan
Binary loggingDiaktifkanDTS membaca perubahan inkremental dari log biner. Jika dinonaktifkan, Pemeriksaan Awal gagal dan tugas tidak dapat dimulai.
binlog_formatrowDiperlukan untuk replikasi tingkat baris. Format lain dapat menyebabkan ketidakkonsistenan data.
binlog_row_imagefullMemastikan gambar baris lengkap ditangkap.
Retensi log binerMinimal 7 hariJika log di-purge sebelum DTS membacanya, tugas gagal. Dalam kasus luar biasa, kehilangan data dapat terjadi.
log_slave_updatesON (hanya untuk klaster dual-primary)Diperlukan ketika sumber adalah database MySQL yang dikelola sendiri dalam klaster dual-primary, sehingga DTS dapat memperoleh semua log biner.
Catatan

DTS menjalankan CREATE DATABASE IF NOT EXISTS \test\`` pada database sumber secara berkala untuk memajukan posisi file log biner.

Penagihan

Jenis migrasiBiaya instansBiaya lalu lintas Internet
Migrasi skema dan migrasi data penuhGratisDikenakan hanya ketika data dimigrasikan dari Alibaba Cloud melalui Internet. Lihat Ikhtisar penagihan.
Migrasi data inkrementalDikenakan biaya. Lihat Ikhtisar penagihan.

Operasi SQL yang didukung untuk migrasi inkremental

Jenis operasiPernyataan SQL
DMLINSERT, UPDATE, DELETE
DDLALTER TABLE, ALTER VIEW, CREATE FUNCTION, CREATE INDEX, CREATE PROCEDURE, CREATE TABLE, CREATE VIEW, DROP INDEX, DROP TABLE, RENAME TABLE, TRUNCATE TABLE
Penting

Operasi RENAME TABLE dapat menyebabkan ketidakkonsistenan data. Jika Anda memilih tabel sebagai objek migrasi dan mengganti namanya selama migrasi, data untuk tabel tersebut tidak dimigrasikan ke tujuan. Untuk menghindari hal ini, pilih seluruh database sebagai objek migrasi dan pastikan database tempat tabel tersebut berada — baik sebelum maupun sesudah penggantian nama — termasuk dalam objek migrasi.

Konfigurasi dan jalankan tugas migrasi

Langkah 1: Buka halaman Data Migration

Gunakan salah satu metode berikut:

Konsol DTS

  1. Login ke Konsol DTS.

  2. Di panel navigasi kiri, klik Data Migration.

  3. Di pojok kiri atas, pilih wilayah tempat instans migrasi akan berada.

Konsol DMS

Catatan

Langkah-langkahnya dapat berbeda tergantung mode dan tata letak Konsol Data Management Service (DMS). Lihat Simple mode dan Sesuaikan tata letak dan gaya Konsol DMS.

  1. Login ke Konsol DMS.

  2. Di bilah navigasi atas, arahkan pointer ke Data Development > DTS (DTS) > Data Migration.

  3. Dari daftar drop-down di sebelah kanan Data Migration Tasks, pilih wilayah tempat instans migrasi akan berada.

Langkah 2: Buat tugas migrasi

  1. Klik Create Task.

  2. Jika tombol New Configuration Page muncul di pojok kanan atas, klik untuk beralih ke halaman konfigurasi baru.

    Catatan

    Jika tombol Back to Previous Version ditampilkan, berarti Anda sudah berada di halaman konfigurasi baru. Lewati langkah ini.

Langkah 3: Konfigurasi database sumber dan tujuan

Peringatan

Setelah mengonfigurasi database sumber dan tujuan, baca Limits yang ditampilkan di bagian atas halaman. Melewatkan langkah ini dapat menyebabkan tugas gagal atau menghasilkan ketidakkonsistenan data.

Konfigurasikan parameter seperti yang dijelaskan dalam tabel berikut.

Database sumber

ParameterDeskripsi
Select Existing ConnectionPilih koneksi yang sudah ada untuk mengisi otomatis parameter database, atau biarkan kosong untuk memasukkan detail koneksi secara manual. Untuk mendaftarkan database, lihat Kelola koneksi database.
Database TypePilih MySQL.
Access MethodPilih Public IP Address untuk database sumber yang dapat diakses melalui Internet. Untuk metode akses lainnya, lihat Ikhtisar persiapan.
Instance RegionPilih wilayah yang paling dekat dengan lokasi fisik database sumber.
Hostname or IP addressAlamat IP publik atau hostname database sumber.
PortPort layanan database MySQL sumber. Default: 3306.
Database AccountAkun dengan izin yang tercantum di Izin yang diperlukan.
Database PasswordKata sandi untuk akun database.
EncryptionPilih Non-encrypted atau SSL-encrypted berdasarkan konfigurasi database sumber Anda. Jika Anda memilih SSL-encrypted, unggah CA Certificate dan atur CA Key.

Database tujuan

ParameterDeskripsi
Select Existing ConnectionPilih koneksi yang sudah ada untuk mengisi otomatis parameter database, atau biarkan kosong untuk memasukkan detail koneksi secara manual.
Database TypePilih PolarDB for MySQL.
Access MethodPilih Alibaba Cloud Instance.
Instance RegionWilayah tempat klaster PolarDB for MySQL tujuan berada.
PolarDB Cluster IDID klaster PolarDB for MySQL tujuan.
Database AccountAkun dengan izin yang tercantum di Izin yang diperlukan.
Database PasswordKata sandi untuk akun database.
EncryptionKonfigurasikan enkripsi SSL sesuai kebutuhan Anda. Lihat Konfigurasi enkripsi SSL.

Langkah 4: Uji konektivitas

Di bagian bawah halaman, klik Test Connectivity and Proceed, lalu klik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers.

Catatan

Pastikan blok CIDR server DTS telah ditambahkan ke pengaturan keamanan database sumber dan tujuan Anda. Lihat Tambahkan blok CIDR server DTS.

Langkah 5: Pilih objek dan jenis migrasi

Di halaman Configure Objects, konfigurasikan parameter berikut.

ParameterDeskripsi
Migration TypesPilih Schema Migration dan Full Data Migration untuk migrasi satu kali. Untuk migrasi dengan downtime minimal, pilih juga Incremental Data Migration. Jika Anda tidak memilih Incremental Data Migration, hentikan semua operasi tulis ke database sumber selama migrasi untuk menjaga konsistensi data.
Method to Migrate Triggers in Source DatabasePilih cara migrasi trigger. Parameter ini tersedia hanya ketika Schema Migration dipilih. Lihat Sinkronisasi atau migrasi trigger dari database sumber.
Processing Mode of Conflicting TablesPrecheck and Report Errors (default): Pemeriksaan Awal gagal jika terdapat nama tabel identik di sumber dan tujuan. Gunakan pemetaan nama objek untuk mengganti nama tabel yang bentrok sebelum memulai. Ignore Errors and Proceed: melewati pemeriksaan. Selama migrasi data penuh, catatan yang ada di tujuan dipertahankan; selama migrasi data inkremental, catatan tersebut ditimpa. Gunakan dengan hati-hati.
Whether to Migrate EventsTentukan apakah akan memigrasikan event. Jika ya, lakukan langkah tambahan untuk menghindari ketidakkonsistenan data. Lihat Sinkronisasi atau migrasi event.
Capitalization of object names in destination instanceAtur kebijakan kapitalisasi untuk nama database, tabel, dan kolom di tujuan. Default: DTS default policy. Lihat Tentukan kapitalisasi nama objek di instans tujuan.
Source ObjectsPilih objek yang akan dimigrasikan dan klik ikon Rightwards arrow untuk memindahkannya ke Selected Objects. Anda dapat memilih kolom, tabel, atau skema. Memilih hanya tabel atau kolom akan mengecualikan view, trigger, dan prosedur tersimpan.
Selected ObjectsUntuk mengganti nama satu objek, klik kanan objek tersebut. Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit di pojok kanan atas. Lihat Pemetaan nama objek. Untuk memfilter data berdasarkan kondisi, klik kanan tabel dan tentukan klausa WHERE. Lihat Tentukan kondisi filter.
Catatan

Mengganti nama objek migrasi dengan pemetaan nama objek dapat menyebabkan objek lain yang bergantung padanya gagal dimigrasikan.

Langkah 6: Konfigurasi pengaturan lanjutan

Klik Next: Advanced Settings dan konfigurasikan parameter berikut.

ParameterDeskripsi
Dedicated Cluster for Task SchedulingSecara default, DTS menjadwalkan tugas ke klaster bersama. Beli klaster khusus untuk meningkatkan stabilitas tugas. Lihat Apa itu klaster khusus DTS.
Select the engine type of the destination databaseInnoDB (mesin penyimpanan default) atau X-Engine (mesin penyimpanan untuk pemrosesan transaksi online (OLTP)).
Copy the temporary table of the Online DDL tool that is generated in the source table to the destination database.Mengontrol cara DTS menangani tabel sementara dari operasi DDL Online yang dilakukan dengan DMS atau gh-ost. Yes: memigrasikan data tabel sementara (dapat meningkatkan latensi). No, Adapt to DMS Online DDL: melewati data tabel sementara; hanya memigrasikan pernyataan DDL asli dari DMS (tabel tujuan mungkin terkunci). No, Adapt to gh-ost: melewati data tabel sementara; hanya memigrasikan pernyataan DDL asli dari gh-ost (tabel tujuan mungkin terkunci).
Penting

Jangan gunakan pt-online-schema-change untuk operasi DDL Online pada database sumber — tugas DTS akan gagal.

Whether to Migrate AccountsTentukan apakah akan memigrasikan informasi akun database sumber. Jika Yes, pilih akun yang akan dimigrasikan dan verifikasi izin akun DTS.
Retry Time for Failed ConnectionsDurasi DTS mencoba ulang setelah kegagalan koneksi. Rentang: 10–1.440 menit. Default: 720 menit. Atur minimal 30 menit. Jika DTS terhubung kembali dalam periode ini, tugas dilanjutkan secara otomatis. Catatan: Nilai yang berbeda yang ditetapkan di beberapa tugas yang menggunakan database sumber atau tujuan yang sama — nilai terbaru yang berlaku.
Retry Time for Other IssuesDurasi DTS mencoba ulang setelah kegagalan operasi DDL atau DML. Rentang: 1–1.440 menit. Default: 10 menit. Atur minimal 10 menit. Harus kurang dari Retry Time for Failed Connections.
Enable Throttling for Full Data MigrationBatasi laju baca/tulis selama migrasi data penuh untuk mengurangi beban pada server database. Konfigurasikan QPS to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s). Tersedia hanya ketika Full Data Migration dipilih.
Enable Throttling for Incremental Data MigrationBatasi laju replikasi selama migrasi data inkremental. Konfigurasikan RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s). Tersedia hanya ketika Incremental Data Migration dipilih.
Whether to delete SQL operations on heartbeat tables of forward and reverse tasksYes: DTS tidak menulis operasi SQL heartbeat ke database sumber. Latensi migrasi mungkin ditampilkan. No: DTS menulis operasi SQL heartbeat ke database sumber. Backup fisik dan kloning database sumber mungkin terpengaruh.
Configure ETLAktifkan ekstrak, transformasi, dan muat (ETL) untuk memproses data selama migrasi. Lihat Apa itu ETL? dan Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data.
Monitoring and AlertingYes: konfigurasikan ambang batas peringatan dan pengaturan notifikasi agar DTS memberi tahu kontak peringatan ketika tugas gagal atau latensi migrasi melebihi ambang batas. Lihat Konfigurasi pemantauan dan peringatan. No: tanpa peringatan.
Environment TagTag opsional untuk mengidentifikasi instans DTS.

Langkah 7: Konfigurasi verifikasi data (opsional)

Klik Next Step: Data Verification untuk menyiapkan tugas verifikasi data yang memeriksa konsistensi data antara sumber dan tujuan. Untuk informasi selengkapnya, lihat Mengonfigurasi tugas verifikasi data.

Langkah 8: Jalankan Pemeriksaan Awal dan beli instans

  1. Klik Next: Save Task Settings and Precheck.

    Catatan

    Untuk melihat parameter API untuk mengonfigurasi tugas DTS secara terprogram, arahkan pointer ke Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters sebelum melanjutkan.

  2. Tunggu hingga Pemeriksaan Awal selesai. Jika ada item yang gagal, klik View Details untuk melihat penyebabnya, perbaiki masalah, dan jalankan Pemeriksaan Awal lagi. Jika item Pemeriksaan Awal memicu peringatan yang dapat diabaikan: klik Confirm Alert Details, lalu Ignore, lalu OK, dan jalankan Pemeriksaan Awal lagi. Mengabaikan peringatan dapat menyebabkan ketidakkonsistenan data.

  3. Saat Success Rate mencapai 100%, klik Next: Purchase Instance.

  4. Di halaman Purchase Instance, konfigurasikan parameter berikut.

    ParameterDeskripsi
    Resource GroupKelompok sumber daya untuk instans migrasi. Default: default resource group. Lihat Apa itu Resource Management?
    Instance ClassKelas instans menentukan kecepatan migrasi. Pilih sesuai kebutuhan Anda. Lihat Kelas instans untuk instans migrasi data.
  5. Baca dan terima Data Transmission Service (Pay-as-you-go) Service Terms, lalu klik Buy and Start > OK.

Tugas migrasi dimulai. Pantau progresnya di halaman Data Migration.

Setelah migrasi

Setelah tugas migrasi selesai, lakukan langkah-langkah berikut sebelum mengalihkan aplikasi Anda ke klaster PolarDB for MySQL.

  1. Tunggu hingga latensi migrasi mencapai 0 — Jika Anda memilih migrasi data inkremental, tunggu hingga latensi migrasi turun menjadi 0 detik dan tetap stabil selama periode tertentu. Hal ini memastikan klaster sepenuhnya tersinkronisasi dengan database sumber.

  2. Hentikan atau lepas tugas DTS — DTS secara otomatis mencoba ulang tugas yang gagal hingga tujuh hari. Hentikan atau lepaskan tugas sebelum mengalihkan beban kerja ke tujuan. Jika Anda tidak menghentikan tugas, migrasi yang dilanjutkan dapat menimpa data di database tujuan dengan data dari sumber. Alternatifnya, jalankan REVOKE untuk mencabut izin tulis dari akun DTS yang mengakses database tujuan.

  3. Rekonstruksi izin — Selama migrasi skema, DTS mengubah atribut SECURITY dari DEFINER menjadi INVOKER untuk view, prosedur tersimpan, dan fungsi, tetapi tidak memigrasikan informasi akun pengguna. Berikan izin baca dan tulis yang diperlukan kepada INVOKER untuk setiap view, prosedur tersimpan, atau fungsi tersimpan di klaster tujuan.

  4. Verifikasi aplikasi Anda — Jalankan uji kesesuaian terhadap klaster PolarDB for MySQL untuk memastikan integritas data dan perilaku aplikasi sebelum menyelesaikan alih bencana.

  5. Alihkan aplikasi Anda — Perbarui string koneksi aplikasi Anda agar mengarah ke klaster PolarDB for MySQL.

Batasan

Batasan database sumber

  • Server sumber harus memiliki bandwidth keluar yang cukup. Bandwidth yang tidak mencukupi mengurangi kecepatan migrasi.

  • Tabel yang akan dimigrasikan harus memiliki kunci primer atau kendala UNIK dengan semua bidang unik. Tanpa ini, database tujuan mungkin berisi catatan duplikat.

  • Jika Anda memilih tabel sebagai objek migrasi dan berencana mengganti nama tabel atau kolom di tujuan, satu tugas dapat memigrasikan maksimal 1.000 tabel. Tugas yang melebihi batas ini akan mengembalikan error permintaan. Pisahkan migrasi besar menjadi beberapa tugas atau migrasikan seluruh database sebagai gantinya.

  • Selama migrasi skema dan migrasi data penuh, jangan menjalankan pernyataan DDL yang mengubah skema database atau tabel. Tugas migrasi akan gagal.

  • Jika Anda hanya menjalankan migrasi data penuh, jangan menulis ke database sumber selama migrasi. Hal ini memastikan konsistensi data. Untuk hasil terbaik, pilih migrasi skema, migrasi data penuh, dan migrasi data inkremental secara bersamaan.

Perilaku kunci asing

  • Selama migrasi skema, DTS memigrasikan kunci asing dari sumber ke tujuan.

  • Selama migrasi data penuh dan migrasi data inkremental, DTS sementara menonaktifkan pemeriksaan kendala kunci asing dan operasi kaskade pada tingkat session. Operasi pembaruan dan penghapusan kaskade yang dilakukan pada database sumber selama periode ini dapat menyebabkan ketidakkonsistenan data.

Batasan umum

  • Versi MySQL sumber dan tujuan sebaiknya sama untuk memastikan kompatibilitas.

  • Migrasikan data selama jam sepi. Migrasi data penuh menggunakan sumber daya baca dan tulis di kedua database dan meningkatkan beban pada server database.

  • Operasi INSERT konkuren selama migrasi data penuh menyebabkan fragmentasi tabel di tujuan. Setelah migrasi data penuh, ruang tabel tujuan lebih besar daripada sumber.

  • Untuk kolom bertipe FLOAT atau DOUBLE, DTS menggunakan ROUND(COLUMN, PRECISION) untuk mengambil nilai. Jika presisi tidak ditentukan, DTS menggunakan 38 digit untuk FLOAT dan 308 digit untuk DOUBLE. Verifikasi bahwa hal ini memenuhi kebutuhan Anda sebelum memulai.

  • Anda tidak dapat mengonversi data dari tipe DATETIME ke tipe VARCHAR.

  • Jika pernyataan DDL gagal di database tujuan, tugas DTS tetap berjalan. Lihat pernyataan DDL yang gagal di log tugas.

  • Jika database sumber adalah instans ApsaraDB RDS for MySQL dengan fitur EncDB diaktifkan, migrasi data penuh tidak didukung.

Kasus khusus

  • Alih bencana primary/secondary — Jika terjadi alih bencana primary/secondary pada database sumber saat tugas migrasi sedang berjalan, tugas gagal.

  • Aktivitas DML rendah — Latensi migrasi mungkin tidak akurat jika tidak ada operasi DML yang dilakukan pada sumber dalam periode yang lama. Lakukan operasi DML untuk memperbarui tampilan latensi. Jika Anda memilih seluruh database sebagai objek migrasi, buat tabel heartbeat yang diperbarui setiap detik.

  • Instans read-only ApsaraDB RDS for MySQL — Instans read-only ApsaraDB RDS for MySQL V5.6 yang tidak mencatat log transaksi tidak dapat digunakan sebagai database sumber untuk migrasi data inkremental.

  • PolarDB for MySQL sebagai tujuan — DTS secara otomatis membuat database di klaster tujuan jika nama database sumber sesuai dengan konvensi penamaan PolarDB. Jika nama tidak sesuai, buat database secara manual sebelum mengonfigurasi tugas migrasi. Lihat Kelola database. Throttling tidak didukung untuk migrasi data penuh ke klaster PolarDB for MySQL.

Langkah selanjutnya