All Products
Search
Document Center

Data Transmission Service:Migrasi data antar kluster PolarDB for MySQL

Last Updated:Mar 28, 2026

Gunakan Data Transmission Service (DTS) untuk melakukan migrasi data antar kluster PolarDB for MySQL dengan downtime minimal. DTS mendukung tiga jenis migrasi—migrasi skema, migrasi data penuh, dan migrasi data inkremental—yang dapat Anda kombinasikan sesuai kebutuhan apakah aplikasi harus tetap online selama migrasi.

Kluster PolarDB for MySQL tidak dapat ditingkatkan langsung ke versi 8.0. Untuk melakukan peningkatan, buat kluster versi 8.0 yang baru dan migrasikan data Anda ke kluster tersebut. Sebelum melakukan migrasi lintas versi utama, buat kluster pay-as-you-go untuk menguji kompatibilitas, lalu hapus kluster tersebut setelah pengujian selesai.

Pilih strategi migrasi

Pilih kombinasi jenis migrasi berdasarkan kebutuhan Anda:

TujuanJenis migrasi yang dipilihDiperlukan downtime
Migrasi data dengan aplikasi offlineMigrasi skema + Migrasi data penuhYa — hentikan operasi write ke sumber sebelum memulai
Migrasi data dengan aplikasi tetap onlineMigrasi skema + Migrasi data penuh + Migrasi data inkrementalTidak — migrasi inkremental menjaga sinkronisasi tujuan

Jenis migrasi

Migrasi skema

DTS memigrasikan skema tabel, view, trigger, prosedur tersimpan, dan fungsi tersimpan dari kluster sumber ke kluster tujuan.

  • DTS mengubah atribut SECURITY dari DEFINER menjadi INVOKER untuk view, prosedur tersimpan, dan fungsi tersimpan.

  • DTS tidak memigrasikan informasi pengguna. Berikan izin baca dan tulis kepada INVOKER untuk memanggil view, prosedur tersimpan, atau fungsi tersimpan di kluster tujuan.

  • Kunci asing dimigrasikan selama migrasi skema. Selama migrasi data penuh dan inkremental, DTS menonaktifkan sementara pemeriksaan kendala kunci asing dan operasi kaskade pada tingkat session. Jika Anda melakukan operasi kaskade atau delete pada sumber selama migrasi, ketidakkonsistenan data dapat terjadi.

Migrasi data penuh

DTS memigrasikan semua data yang ada dari kluster sumber ke kluster tujuan. Operasi INSERT bersamaan selama fase ini menyebabkan fragmentasi tabel, sehingga ruang tabel tujuan akan lebih besar daripada sumber setelah migrasi selesai.

Migrasi data inkremental

Setelah migrasi data penuh selesai, DTS terus menerapkan perubahan dari sumber ke tujuan. Hal ini menjaga kedua kluster tetap sinkron dan memungkinkan aplikasi Anda tetap online selama migrasi.

Operasi SQL yang didukung dalam migrasi inkremental

Jenis operasiPernyataan SQL yang didukung
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 mengganti nama tabel selama migrasi dan cakupan tugas adalah tabel tersebut (bukan database-nya), DTS akan menghentikan migrasi data untuk tabel tersebut. Untuk menghindari hal ini, pilih database sebagai objek migrasi alih-alih tabel individual, dan pastikan nama database sebelum dan sesudah penggantian nama termasuk dalam objek yang dipilih.

Penagihan

Jenis migrasiBiaya konfigurasi instansBiaya lalu lintas Internet
Migrasi skema + Migrasi data penuhGratisDikenakan biaya saat melakukan migrasi dari Alibaba Cloud melalui Internet. Lihat Ikhtisar penagihan
Migrasi data inkrementalDikenakan biaya. Lihat Ikhtisar penagihan

Batasan

Batasan database sumber

BatasanDetailSolusi Sementara
Bandwidth outboundServer sumber harus memiliki bandwidth outbound yang cukup. Bandwidth rendah mengurangi kecepatan migrasi.Tingkatkan bandwidth atau aktifkan pembatasan kecepatan.
Kunci primer atau kunci unikTabel yang dimigrasikan harus memiliki PRIMARY KEY atau kendala UNIK, dengan semua bidang bernilai unik. Tanpa ini, tujuan mungkin berisi catatan duplikat.Tambahkan kunci primer atau kunci unik ke setiap tabel sebelum migrasi.
Jumlah tabel per tugas (dengan penggantian nama)Jika Anda memilih tabel (bukan database) sebagai objek migrasi dan mengganti nama tabel atau kolom di tujuan, satu tugas mendukung hingga 1.000 tabel. Lebih dari 1.000 tabel menyebabkan error permintaan.Bagi migrasi ke beberapa tugas, atau pilih seluruh database sebagai objek migrasi.
Binary logging (migrasi inkremental)Binary logging harus diaktifkan dan loose_polar_log_bin harus diatur ke on. Jika tidak dikonfigurasi, pemeriksaan awal gagal dan tugas tidak dapat dimulai. Mengaktifkan binary logging menimbulkan biaya penyimpanan untuk file log.Lihat Aktifkan binary logging dan Ubah parameter.
Retensi log binerUntuk tugas hanya inkremental: pertahankan log biner lebih dari 24 jam. Untuk tugas penuh + inkremental: pertahankan log biner minimal 7 hari. Setelah migrasi penuh selesai, Anda dapat mengurangi retensi menjadi lebih dari 24 jam. Retensi yang tidak mencukupi dapat menyebabkan kegagalan tugas atau kehilangan data; jaminan Service Level Agreement (SLA) DTS tidak berlaku jika persyaratan ini tidak dipenuhi.Atur periode retensi log sebelum memulai tugas migrasi.
DDL selama migrasi skema + penuhJangan menjalankan operasi DDL yang mengubah skema database atau tabel selama migrasi skema atau migrasi data penuh. Operasi semacam itu menyebabkan tugas gagal.Jadwalkan perubahan skema di luar jendela migrasi.
Operasi write selama migrasi hanya penuhJangan menulis data ke database sumber selama tugas migrasi data penuh saja. Hal ini dapat menyebabkan ketidakkonsistenan data antara sumber dan tujuan.Tambahkan migrasi data inkremental untuk menjaga sinkronisasi kedua kluster, atau hentikan operasi write aplikasi sebelum memulai.

Batasan lainnya

BatasanDetail
Versi MySQLGunakan versi MySQL yang sama untuk kluster sumber dan tujuan untuk menghindari masalah kompatibilitas.
Node read-onlyNode read-only pada kluster sumber tidak dapat dimigrasikan.
Waktu migrasiMigrasi data penuh menggunakan resource baca dan tulis pada kedua kluster dan dapat meningkatkan beban server. Evaluasi dampak performa sebelum memulai dan jalankan migrasi selama jam sepi.
Presisi FLOAT dan DOUBLEDTS mengambil nilai FLOAT dan DOUBLE menggunakan ROUND(COLUMN, PRECISION). Jika Anda tidak menentukan presisi, DTS menggunakan default 38 digit untuk FLOAT dan 308 digit untuk DOUBLE. Verifikasi bahwa nilai default ini memenuhi kebutuhan Anda.
Pelanjutan tugas gagalDTS secara otomatis mencoba ulang tugas yang gagal hingga 7 hari. Hentikan atau lepas tugas DTS sebelum atau segera setelah beralih aplikasi ke kluster tujuan. Atau, jalankan REVOKE untuk mencabut izin tulis DTS di tujuan. Jika tugas yang gagal dilanjutkan setelah Anda beralih, data sumber akan menimpa data tujuan.
Alat DDL OnlineJangan gunakan pt-online-schema-change untuk operasi DDL Online pada sumber. Hal ini menyebabkan tugas DTS gagal. Gunakan DMS atau gh-ost sebagai gantinya.

Izin yang diperlukan

Izin yang diperlukan bergantung pada jenis migrasi yang Anda pilih.

DatabaseHanya migrasi data penuhMigrasi data penuh + Migrasi data inkremental
Kluster PolarDB for MySQL sumberIzin baca pada objek yang akan dimigrasikanIzin baca pada objek yang akan dimigrasikan
Kluster PolarDB for MySQL tujuanIzin baca dan tulis pada database tujuanIzin baca dan tulis pada database tujuan
Gunakan akun istimewa untuk kluster tujuan. Untuk petunjuk membuat akun database, lihat Buat akun database.

Untuk migrasi data inkremental, akun database sumber juga memerlukan akses binary logging. Pastikan binary logging diaktifkan dan loose_polar_log_bin diatur ke on sebelum memulai.

Migrasi data antar kluster PolarDB for MySQL

Prasyarat

Sebelum memulai, pastikan Anda telah:

Langkah 1: Buka halaman Tugas Migrasi Data

  1. Login ke Konsol Data Management (DMS).

  2. Di bilah navigasi atas, klik DTS.

  3. Di panel navigasi kiri, pilih DTS (DTS) > Data Migration.

Navigasi konsol DMS bervariasi berdasarkan mode dan tata letak. Lihat Simple mode dan Sesuaikan tata letak dan gaya konsol DMS. Anda juga dapat langsung membuka halaman Tugas Migrasi Data di konsol DTS baru.

Langkah 2: Pilih wilayah

Dari daftar drop-down di samping Data Migration Tasks, pilih wilayah tempat instans migrasi data berada.

Di konsol DTS baru, pilih wilayah di pojok kiri atas.

Langkah 3: Konfigurasi database sumber dan tujuan

Klik Create Task. Di halaman Create Task, konfigurasikan parameter berikut.

Peringatan

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

Pengaturan tugas

ParameterDeskripsi
Task NameNama untuk tugas. DTS memberikan nama secara otomatis. Tentukan nama deskriptif agar mudah diidentifikasi. Nama tidak perlu unik.

Database sumber

ParameterDeskripsi
Select an existing DMS database instancePilih instans yang sudah ada agar DTS mengisi parameter secara otomatis, atau biarkan kosong dan konfigurasi parameter secara manual.
Database TypePilih PolarDB for MySQL.
Access MethodPilih Alibaba Cloud Instance.
Instance RegionWilayah tempat kluster PolarDB for MySQL sumber berada.
PolarDB Cluster IDID kluster PolarDB for MySQL sumber.
Database AccountAkun untuk kluster sumber. Lihat Izin yang diperlukan.
Database PasswordPassword untuk akun database.
EncryptionApakah koneksi dienkripsi. Konfigurasikan sesuai kebutuhan Anda. Lihat Konfigurasi enkripsi SSL.

Database tujuan

ParameterDeskripsi
Select an existing DMS database instancePilih instans yang sudah ada agar DTS mengisi parameter secara otomatis, atau biarkan kosong dan konfigurasi parameter secara manual.
Database TypePilih PolarDB for MySQL.
Access MethodPilih Alibaba Cloud Instance.
Instance RegionWilayah tempat kluster PolarDB for MySQL tujuan berada.
PolarDB Cluster IDID kluster PolarDB for MySQL tujuan.
Database AccountAkun untuk kluster tujuan. Gunakan akun istimewa. Lihat Izin yang diperlukan.
Database PasswordPassword untuk akun database.
EncryptionApakah koneksi dienkripsi. Konfigurasikan sesuai kebutuhan Anda. Lihat Konfigurasi enkripsi SSL.

Langkah 4: Uji konektivitas

Klik Test Connectivity and Proceed.

DTS secara otomatis menambahkan blok CIDR servernya ke daftar putih alamat IP instans database Alibaba Cloud (seperti ApsaraDB RDS for MySQL atau ApsaraDB for MongoDB) dan ke aturan grup keamanan instans Elastic Compute Service (ECS) yang menghosting database yang dikelola sendiri. Untuk database yang dikelola sendiri yang tersebar di beberapa instans ECS, tambahkan blok CIDR DTS ke aturan grup keamanan setiap instans secara manual. Untuk database on-premises atau database dari penyedia cloud pihak ketiga, tambahkan blok CIDR DTS ke daftar putih IP database secara manual. Untuk daftar lengkap blok CIDR, lihat Tambahkan blok CIDR server DTS ke pengaturan keamanan database on-premises.

Peringatan

Menambahkan blok CIDR server DTS ke daftar putih IP atau grup keamanan menciptakan paparan keamanan. Sebelum melanjutkan, ambil tindakan pencegahan termasuk: memperkuat keamanan akun dan password, membatasi port yang terbuka, mengotentikasi panggilan API, mengaudit aturan daftar putih dan grup keamanan secara berkala, serta menghubungkan DTS ke database Anda melalui Express Connect, VPN Gateway, atau Smart Access Gateway alih-alih Internet publik.

Langkah 5: Pilih objek dan jenis migrasi

Jenis migrasi

ParameterDeskripsi
Migration TypesPilih Schema Migration dan Full Data Migration untuk migrasi offline. Tambahkan Incremental Data Migration agar aplikasi tetap online selama migrasi.
Method to Migrate Triggers in Source DatabaseMetode untuk memigrasikan trigger. Parameter ini muncul hanya jika Schema Migration dipilih. Lihat Sinkronisasi atau migrasi trigger dari database sumber.

Penanganan konflik

OpsiPerilaku
Precheck and Report ErrorsSebelum migrasi dimulai, DTS memeriksa apakah tujuan memiliki tabel dengan nama yang sama seperti sumber. Jika terdapat konflik nama, pemeriksaan awal gagal dan tugas tidak dimulai. Gunakan fitur pemetaan nama objek untuk mengganti nama objek jika diperlukan. Lihat Pemetaan nama objek.
Ignore Errors and ProceedMelewati pemeriksaan awal konflik nama. Jika sumber dan tujuan memiliki skema identik, DTS melewati baris dengan nilai kunci primer yang cocok. Jika skema berbeda, hanya kolom tertentu yang dimigrasikan atau tugas gagal. Gunakan dengan hati-hati.

Select objects

Di bagian Source Objects, pilih objek yang akan dimigrasikan, lalu klik Rightwards arrow untuk memindahkannya ke Selected Objects. Anda dapat memilih kolom, tabel, atau skema. Memilih tabel atau kolom mengecualikan view, trigger, dan prosedur tersimpan dari migrasi.

Di Selected Objects, Anda dapat:

Mengganti nama objek dapat menyebabkan objek dependen, seperti view atau prosedur tersimpan, gagal selama migrasi.

Langkah 6: Konfigurasi pengaturan lanjutan

Klik Next: Advanced Settings, lalu konfigurasikan hal berikut.

Verifikasi data

Untuk memverifikasi konsistensi data antara sumber dan tujuan, konfigurasikan fitur verifikasi data. Lihat Aktifkan verifikasi data.

Pengaturan lanjutan

ParameterDeskripsi
Select the dedicated cluster used to schedule the taskSecara default, DTS menggunakan kluster bersama. Beli kluster khusus untuk mengisolasi resource tugas. Lihat Apa itu kluster khusus DTS?
Set AlertsKonfigurasikan peringatan untuk kegagalan tugas atau pelanggaran ambang batas latensi. Pilih Yes untuk menentukan ambang batas peringatan dan kontak. Lihat Konfigurasi pemantauan dan peringatan.
Select the engine type of the destination databaseMesin penyimpanan untuk kluster tujuan: InnoDB (default) atau X-Engine (mesin online transaction processing (OLTP)).
Copy the temporary table of the Online DDL tool that is generated in the source table to the destination database.Mengontrol apakah DTS memigrasikan tabel temporary yang dihasilkan oleh alat DDL Online.
Penting

pt-online-schema-change tidak didukung — menggunakannya menyebabkan tugas gagal. Opsi: Yes (migrasikan data tabel temporary; dapat memperpanjang waktu migrasi); No, Adapt to DMS Online DDL (lewati tabel temporary, migrasikan DDL asli hanya dari DMS — tabel tujuan mungkin terkunci); No, Adapt to gh-ost (lewati tabel temporary, migrasikan DDL asli hanya dari gh-ost — tabel tujuan mungkin terkunci; mendukung ekspresi reguler kustom untuk memfilter tabel shadow).

Retry Time for Failed ConnectionsBerapa lama DTS mencoba ulang koneksi yang gagal setelah tugas dimulai. Rentang: 10–1.440 menit. Default: 720. Atur minimal 30 menit. Jika beberapa tugas berbagi sumber atau tujuan yang sama, waktu retry terpendek di antara mereka yang berlaku. DTS mengenakan biaya untuk instans selama periode retry.
The wait time before a retry when other issues occur in the source and destination databases.Berapa lama DTS mencoba ulang operasi DDL atau DML yang gagal. Rentang: 1–1.440 menit. Default: 10. Atur minimal 10 menit. Nilai ini harus kurang dari nilai Retry Time for Failed Connections.
Enable Throttling for Full Data MigrationBatasi beban baca/tulis pada sumber dan tujuan selama migrasi data penuh. Konfigurasikan Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s). Muncul hanya jika Full Data Migration dipilih.
Enable Throttling for Incremental Data MigrationBatasi beban selama migrasi inkremental. Konfigurasikan RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s). Muncul hanya jika Incremental Data Migration dipilih.
Environment TagTag untuk mengidentifikasi instans DTS. Pilih sesuai kebutuhan Anda.
Configure ETLApakah akan menerapkan transformasi extract, transform, and load (ETL). Pilih Yes untuk memasukkan pernyataan pemrosesan data. Lihat Apa itu ETL? dan Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data.
Whether to delete SQL operations on heartbeat tables of forward and reverse tasksMengontrol apakah DTS menulis ke tabel heartbeat di database sumber. Yes: DTS tidak menulis ke tabel heartbeat; latensi migrasi mungkin muncul di konsol. No: DTS menulis ke tabel heartbeat; backup fisik dan kloning database sumber mungkin terpengaruh.

Langkah 7: Simpan pengaturan dan jalankan pemeriksaan awal

Klik Next: Save Task Settings and Precheck.

Sebelum mengklik, Anda dapat mengarahkan kursor ke tombol ini dan klik Preview OpenAPI parameters untuk melihat parameter API untuk konfigurasi tugas ini.

DTS menjalankan pemeriksaan awal sebelum tugas dimulai. Jika pemeriksaan awal gagal:

  • Klik View Details di sebelah item yang gagal, perbaiki masalah yang dilaporkan, lalu klik Precheck Again.

  • Jika item pemeriksaan awal menampilkan peringatan yang dapat diabaikan: klik Confirm Alert Details, lalu di kotak dialog View Details klik Ignore > OK > Precheck Again. Mengabaikan peringatan dapat menyebabkan ketidakkonsistenan data.

Langkah 8: Tunggu hingga pemeriksaan awal lolos

Tunggu hingga tingkat keberhasilan mencapai 100%, lalu klik Next: Purchase Instance.

Langkah 9: Pilih kelas instans

Di halaman Purchase Instance, konfigurasikan instans untuk tugas migrasi.

ParameterDeskripsi
Resource GroupKelompok sumber daya untuk instans migrasi. Default: default resource group. Lihat Apa itu Resource Management?
Instance ClassKelas instans menentukan kecepatan migrasi. Pilih berdasarkan volume data dan kebutuhan waktu Anda. Lihat Spesifikasi instans migrasi data.

Langkah 10: Terima syarat layanan

Baca dan terima Data Transmission Service (Pay-as-you-go) Service Terms dengan memilih kotak centang.

Langkah 11: Mulai tugas

Klik Buy and Start. Pantau progres di daftar tugas.

Tugas pasca-migrasi

Setelah tugas migrasi selesai:

  1. Verifikasi konsistensi data: Gunakan fitur verifikasi data untuk mengonfirmasi integritas data antara sumber dan tujuan. Lihat Aktifkan verifikasi data.

  2. Hentikan atau lepas tugas DTS: Sebelum atau segera setelah beralih aplikasi, hentikan atau lepas tugas migrasi. DTS secara otomatis mencoba ulang tugas yang gagal hingga 7 hari — jika tugas yang dilanjutkan berjalan setelah Anda beralih, data sumber akan menimpa data tujuan. Atau, jalankan REVOKE untuk mencabut izin tulis DTS dari tujuan sebagai perlindungan tambahan.

  3. Beralih aplikasi Anda: Perbarui string koneksi di aplikasi Anda agar mengarah ke kluster tujuan.

  4. Bersihkan: Jika Anda membuat kluster pay-as-you-go untuk pengujian kompatibilitas versi, lepas kluster tersebut sekarang.

Catatan penggunaan

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