All Products
Search
Document Center

Data Transmission Service:Migrasi data antar instans RDS MySQL

Last Updated:Mar 29, 2026

Data Transmission Service (DTS) memungkinkan Anda melakukan migrasi data antar instans ApsaraDB RDS for MySQL dengan downtime minimal. DTS mendukung tiga jenis migrasi — migrasi skema, migrasi data penuh, dan migrasi data inkremental — yang dapat dikombinasikan agar database sumber tetap berjalan selama proses migrasi.

Pilih jenis migrasi

Pilih jenis migrasi berdasarkan toleransi terhadap downtime:

TujuanJenis migrasi yang dipilih
Migrasi offline satu kali (database sumber dapat dihentikan)Migrasi skema + Migrasi data penuh
Migrasi tanpa downtime (database sumber tetap aktif)Migrasi skema + Migrasi data penuh + Migrasi data inkremental
Jika Anda melewatkan migrasi data inkremental, jangan menulis data ke database sumber selama migrasi agar data tetap konsisten.

Apa yang dilakukan setiap jenis migrasi

  • Schema migration: Memindahkan skema tabel, view, trigger, stored procedure, dan stored function. DTS mengubah atribut SECURITY dari DEFINER menjadi INVOKER untuk view, stored procedure, dan stored function, serta tidak memindahkan akun pengguna. Selama migrasi skema, DTS juga memindahkan foreign key dari database sumber ke database tujuan.

  • Full data migration: Memindahkan semua data yang ada dari objek yang dipilih di database sumber.

  • Incremental data migration: Setelah migrasi data penuh selesai, secara terus-menerus mereplikasi perubahan dari database sumber. Hal ini memungkinkan aplikasi tetap berjalan pada database sumber sementara data di database tujuan menyusul.

Database sumber dan tujuan yang didukung

Baik database sumber maupun tujuan dapat berupa salah satu dari berikut ini:

  • Instans ApsaraDB RDS for MySQL

  • Database MySQL yang dikelola sendiri:

    • Database dengan alamat IP publik

    • Database yang di-hosting di Elastic Compute Service (ECS)

    • Database yang terhubung melalui Express Connect, VPN Gateway, atau Smart Access Gateway (SAG)

    • Database yang terhubung melalui Database Gateway

Prasyarat

Sebelum memulai, pastikan Anda telah:

  • Membuat instans ApsaraDB RDS for MySQL sumber dan tujuan. Lihat Buat instans ApsaraDB RDS for MySQL.

  • Instans tujuan memiliki ruang penyimpanan tersedia lebih besar daripada instans sumber.

  • Versi MySQL yang sama pada kedua instans sumber dan tujuan.

Batasan

Persyaratan database sumber

  • Server database sumber harus memiliki bandwidth outbound yang cukup. Bandwidth yang tidak mencukupi akan mengurangi kecepatan migrasi.

  • Tabel yang akan dimigrasikan harus memiliki PRIMARY KEY atau kendala UNIQUE, dengan semua field unik. Tanpa ini, database tujuan mungkin berisi catatan duplikat.

  • Jika Anda memilih tabel individual sebagai objek untuk dimigrasikan dan berencana mengganti nama tabel atau kolom di tujuan, satu tugas mendukung hingga 1.000 tabel. Untuk lebih dari 1.000 tabel, konfigurasikan beberapa tugas atau migrasikan seluruh database.

  • DTS sementara menonaktifkan pemeriksaan kendala kunci asing dan operasi kaskade pada tingkat session selama migrasi data penuh dan inkremental. Hindari menjalankan operasi CASCADE atau DELETE pada database sumber selama migrasi karena dapat menyebabkan inkonsistensi data.

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

Persyaratan log biner untuk migrasi data inkremental

Konfigurasikan pengaturan log biner berikut pada database sumber sebelum memulai tugas migrasi data inkremental:

ParameterNilai yang diperlukanMengapa
Pencatatan log binerDiaktifkanDTS membaca perubahan dari log biner
binlog_formatROWMemastikan DTS menangkap perubahan tingkat baris secara lengkap
binlog_row_imageFULLMemastikan DTS menangkap semua nilai kolom
log_slave_updatesONHanya diperlukan untuk MySQL yang dikelola sendiri dalam kluster dual-primary, agar DTS dapat mengakses semua log biner
Retensi log binerMinimal 7 hariDTS mungkin gagal dan kehilangan data jika log dihapus sebelum dikonsumsi
Penting

Jika persyaratan log biner tidak terpenuhi, Pemeriksaan Awal gagal dan tugas tidak dapat dimulai. Dalam kasus luar biasa, hilangnya log dapat menyebabkan kehilangan data.

Batasan lainnya

  • Jalankan migrasi selama jam sepi. Migrasi data penuh menggunakan resource baca dan tulis pada kedua database, yang meningkatkan beban server.

  • Setelah migrasi data penuh, ruang tabel tujuan lebih besar daripada sumber karena fragmentasi dari operasi INSERT bersamaan.

  • DTS menggunakan ROUND(COLUMN, PRECISION) untuk membaca kolom FLOAT dan DOUBLE. Presisi default adalah 38 digit untuk FLOAT dan 308 digit untuk DOUBLE. Verifikasi bahwa nilai ini sesuai dengan kebutuhan Anda.

  • DTS mencoba ulang tugas yang gagal hingga 7 hari. Sebelum mengalihkan workload ke database tujuan, hentikan atau rilis tugas yang gagal, atau jalankan REVOKE untuk menghapus akses tulis DTS ke tujuan. Jika tidak, tugas yang dilanjutkan dapat menimpa data di tujuan.

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

  • Nama kolom yang hanya berbeda kapitalisasi dalam tabel tujuan yang sama dapat menghasilkan hasil tak terduga karena nama kolom MySQL tidak peka huruf besar/kecil.

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

Kasus khusus

SkenarioBatasan
Sumber MySQL yang dikelola sendiriAlih bencana primary/secondary selama tugas menyebabkan tugas gagal.
MySQL yang dikelola sendiri — latensi migrasiLatensi dihitung dari timestamp catatan terakhir yang dimigrasikan dibandingkan dengan timestamp sumber saat ini. Jika tidak ada operasi DML yang dijalankan di sumber dalam waktu lama, pembacaan latensi mungkin tidak akurat. Jalankan operasi DML di sumber untuk memperbarui latensi. Jika Anda memigrasikan seluruh database, buat tabel heartbeat yang diperbarui setiap detik.
MySQL yang dikelola sendiri — posisi log binerDTS secara berkala menjalankan CREATE DATABASE IF NOT EXISTS \test\`` di sumber untuk memajukan posisi log biner.
Sumber ApsaraDB RDS for MySQL V5.6 read-onlyTidak dapat digunakan sebagai sumber untuk migrasi data inkremental karena instans read-only V5.6 tidak mencatat log transaksi.
Penamaan database tujuanDTS secara otomatis membuat database di instans tujuan. Jika nama database sumber tidak sesuai dengan konvensi penamaan ApsaraDB RDS for MySQL, buat database secara manual di tujuan sebelum mengonfigurasi tugas. Lihat Kelola database.

Penagihan

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

Operasi SQL yang didukung untuk migrasi data inkremental

JenisOperasi 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 inkonsistensi data. Jika Anda memilih tabel sebagai objek untuk dimigrasikan, dan tabel tersebut diganti namanya selama migrasi, datanya tidak akan dimigrasikan ke tujuan. Untuk menghindari hal ini, pilih database (bukan tabel individual) sebagai objek migrasi, dan pastikan database tempat tabel tersebut berada baik sebelum maupun setelah operasi RENAME TABLE termasuk sebagai objek migrasi.

Izin yang diperlukan

DatabaseMigrasi skemaMigrasi data penuhMigrasi data inkremental
Sumber ApsaraDB RDS for MySQLSELECTSELECTBaca dan tulis
ApsaraDB RDS for MySQL tujuanBaca dan tulisBaca dan tulisBaca dan tulis

Jika akun sumber tidak dibuat melalui konsol ApsaraDB RDS for MySQL, berikan izin MySQL berikut secara manual: REPLICATION CLIENT, REPLICATION SLAVE, SHOW VIEW, dan SELECT.

Untuk memigrasikan informasi akun dari database sumber, diperlukan izin tambahan. Lihat Migrasi akun database.

Untuk petunjuk membuat dan mengonfigurasi akun database, lihat Buat akun dan Ubah izin akun.

Konfigurasi dan jalankan tugas migrasi

Langkah 1: Buka halaman Data Migration

  1. Masuk ke Konsol Data Management (DMS).

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

    Anda juga dapat langsung membuka halaman Data Migration di konsol DTS baru. Navigasi mungkin berbeda tergantung mode dan tata letak konsol DMS. Lihat Mode simple dan Sesuaikan tata letak dan gaya konsol DMS.
  3. Dari daftar drop-down di sisi kanan Data Migration Tasks, pilih wilayah tempat instans migrasi Anda berada.

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

Langkah 2: Buat dan konfigurasi tugas

  1. Klik Create Task.

  2. Opsional: Di pojok kanan atas, klik New Configuration Page untuk beralih ke UI konfigurasi terbaru.

    Lewati langkah ini jika halaman menampilkan tombol Back to Previous Version — Anda sudah berada di halaman baru.
  3. Konfigurasikan database sumber dan tujuan menggunakan parameter berikut.

    Peringatan

    Setelah mengonfigurasi database sumber dan tujuan, baca bagian Limits yang ditampilkan di bagian atas halaman sebelum melanjutkan. Melewatkan langkah ini dapat menyebabkan kegagalan tugas atau inkonsistensi data.

    Source Database

    ParameterDeskripsi
    Task NameNama deskriptif untuk tugas. DTS memberikan nama default secara otomatis. Nama tidak perlu unik.
    Select a DMS database instanceLewati untuk contoh ini — konfigurasikan informasi database secara manual di bawah.
    Database TypePilih MySQL.
    Connection TypePilih Alibaba Cloud Instance.
    Instance RegionWilayah tempat instans ApsaraDB RDS for MySQL sumber berada.
    Replicate Data Across Alibaba Cloud AccountsPilih No untuk migrasi dalam akun yang sama. Untuk migrasi lintas akun Alibaba Cloud, pilih Yespengaturan pemberitahuan peringatan. Lihat Konfigurasi tugas DTS lintas akun Alibaba Cloud.
    RDS Instance IDID instans sumber. Instans sumber dan tujuan dapat sama, yang memungkinkan Anda memigrasikan data dalam satu instans.
    Database AccountAkun untuk instans sumber. Lihat Izin yang diperlukan.
    Database PasswordPassword untuk akun database.
    Connection MethodPilih Non-encrypted atau SSL-encrypted. Jika Anda memilih SSL-encrypted, aktifkan SSL pada instans sumber terlebih dahulu. Lihat Konfigurasi fitur enkripsi SSL.

    Destination Database

    ParameterDeskripsi
    Select a DMS database instanceLewati untuk contoh ini — konfigurasikan informasi database secara manual di bawah.
    Database TypePilih MySQL.
    Connection TypePilih Alibaba Cloud Instance.
    Instance RegionWilayah tempat instans ApsaraDB RDS for MySQL tujuan berada.
    Replicate Data Across Alibaba Cloud AccountsPilih No untuk migrasi dalam akun yang sama.
    RDS Instance IDID instans tujuan.
    Database AccountAkun untuk instans tujuan. Lihat Izin yang diperlukan.
    Database PasswordPassword untuk akun database.
    Connection MethodPilih Non-encrypted atau SSL-encrypted. Jika Anda memilih SSL-encrypted, aktifkan SSL pada instans tujuan terlebih dahulu. Lihat Konfigurasi fitur enkripsi SSL.
  4. Klik Test Connectivity and Proceed. DTS secara otomatis menambahkan blok CIDR servernya ke daftar putih alamat IP instans database Alibaba Cloud dan ke aturan grup keamanan database yang di-hosting di ECS. Jika database yang dikelola sendiri di-hosting di beberapa instans ECS, Anda harus menambahkan blok CIDR server DTS secara manual ke aturan grup keamanan setiap instans ECS. Untuk database yang dikelola sendiri di pusat data Anda sendiri atau dari penyedia cloud pihak ketiga, tambahkan blok CIDR server DTS secara manual ke daftar putih database. Lihat Tambahkan blok CIDR server DTS.

    Peringatan

    Menambahkan blok CIDR DTS ke daftar putih atau grup keamanan menimbulkan potensi risiko keamanan. Ambil tindakan pencegahan seperti memperkuat keamanan password, membatasi port yang terbuka, mengotentikasi panggilan API, dan secara berkala mengaudit aturan daftar putih. Pertimbangkan untuk menggunakan Express Connect, VPN Gateway, atau Smart Access Gateway untuk menghubungkan database Anda ke DTS alih-alih mengeksposnya melalui internet publik.

Langkah 3: Pilih objek dan konfigurasi pengaturan lanjutan

  1. Di halaman Select Objects, konfigurasikan parameter berikut.

    ParameterDeskripsi
    Migration TypesPilih jenis migrasi berdasarkan kebutuhan downtime Anda. Lihat Choose migration types.
    Method to Migrate Triggers in source databaseMetode untuk melakukan migrasi trigger dari sumber. Tersedia hanya jika Schema Migration dan Incremental Data Migration keduanya dipilih. Lihat Synchronize or migrate triggers from the source database.
    Enable Migration AssessmentMemeriksa apakah skema sumber dan tujuan—termasuk panjang indeks, stored procedure, dan tabel dependen—memenuhi persyaratan migrasi. Tersedia hanya jika Schema Migration dipilih. Hasil penilaian tidak menghentikan Pemeriksaan Awal.
    Processing Mode of Conflicting TablesPrecheck and Report Errors (default): Gagal dalam Pemeriksaan Awal jika instans tujuan berisi tabel dengan nama yang sama seperti tabel sumber. Gunakan object name mapping untuk mengganti nama objek yang bentrok sebelum memulai. Ignore Errors and Proceed: Melewati pemeriksaan dan melanjutkan proses. Catatan dengan primary key yang sama tidak dimigrasikan, dan perbedaan skema dapat menyebabkan migrasi sebagian atau kegagalan tugas.
    Capitalization of object names in destination instanceMengatur kapitalisasi nama database, tabel, dan kolom di instans tujuan. Nilai default adalah DTS default policy. Lihat Specify the capitalization of object names.
    Source ObjectsPilih database, tabel, atau kolom yang akan dimigrasikan, lalu klik 向右小箭头 untuk menambahkannya ke Selected Objects. Memilih hanya tabel atau kolom akan mengecualikan view, trigger, dan stored procedure.
    Selected ObjectsKlik kanan suatu objek untuk mengganti namanya atau menetapkan kondisi WHERE guna memfilter baris. Klik Batch Edit untuk mengganti nama beberapa objek sekaligus. Lihat Map object names dan Set filter conditions. Mengganti nama suatu objek dapat menyebabkan migrasi objek dependen gagal.
  2. Klik Next: Advanced Settings dan konfigurasikan parameter berikut.

    ParameterDeskripsi
    Dedicated Cluster for Task SchedulingSecara default, DTS menggunakan klaster bersama. Untuk meningkatkan stabilitas tugas, beli klaster khusus. Lihat Apa itu klaster khusus DTS.
    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 Online DDL (hanya DMS atau gh-ost — pt-online-schema-change tidak didukung dan akan menyebabkan kegagalan tugas). Yes: Memigrasikan tabel sementara. Dapat menyebabkan latensi untuk operasi besar. No, Adapt to DMS Online DDL: Melewatkan tabel sementara; hanya memigrasikan DDL akhir. Tabel di tujuan mungkin terkunci. No, Adapt to gh-ost: Melewatkan tabel sementara; hanya memigrasikan DDL akhir. Mendukung ekspresi reguler kustom untuk memfilter tabel shadow. Tabel di tujuan mungkin terkunci.
    Whether to Migrate AccountsPilih Yes untuk memigrasikan informasi akun database sumber. Anda harus memilih akun yang akan dimigrasikan dan memverifikasi bahwa izin akun sumber dan tujuan mencukupi.
    Retry Time for Failed ConnectionsBerapa lama DTS mencoba ulang setelah kegagalan koneksi. Rentang: 10–1.440 menit. Default: 720 menit. Atur minimal 30 menit. Jika DTS terhubung kembali dalam jendela ini, tugas dilanjutkan secara otomatis; jika tidak, tugas gagal.
    Retry Time for Other IssuesBerapa lama DTS mencoba ulang setelah kegagalan 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 MigrationMembatasi penggunaan sumber daya selama migrasi data penuh dengan mengatur QPS ke sumber, RPS, dan batas bandwidth. Tersedia hanya jika Full Data Migration dipilih.
    Enable Throttling for Incremental Data MigrationMembatasi penggunaan sumber daya selama migrasi data inkremental dengan mengatur RPS dan batas bandwidth. Tersedia hanya jika Incremental Data Migration dipilih.
    Environment TagTag opsional untuk mengidentifikasi lingkungan instans DTS.
    Whether to delete SQL operations on heartbeat tables of forward and reverse tasksYes: DTS tidak menulis operasi heartbeat ke database sumber. Latensi migrasi mungkin ditampilkan. No: DTS menulis operasi heartbeat ke sumber. Hal ini dapat memengaruhi backup fisik dan kloning database sumber.
    Configure ETLPilih Yes untuk mengonfigurasi aturan ekstrak, transformasi, dan muat (ETL) menggunakan editor kode. Lihat Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data.
    Monitoring and AlertingPilih Yes untuk menerima notifikasi ketika tugas gagal atau latensi migrasi melebihi ambang batas. Lihat Konfigurasi pemantauan dan peringatan.
  3. Klik Next Step: Verification Configurations untuk mengonfigurasi verifikasi data. Lihat Konfigurasi tugas verifikasi data.

Langkah 4: Jalankan Pemeriksaan Awal

Klik Next: Save Task Settings and Precheck.

Untuk melihat pratinjau parameter API untuk konfigurasi programatik, arahkan kursor ke Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters.

DTS menjalankan Pemeriksaan Awal sebelum tugas dapat dimulai. Jika ada item yang gagal:

  1. Klik View Details di sebelah item yang gagal.

  2. Selesaikan masalah berdasarkan hasil pemeriksaan.

  3. Klik Precheck Again.

Jika suatu item menghasilkan peringatan yang ingin Anda abaikan, klik Confirm Alert Details, lalu klik Ignore di kotak dialog, dan klik Precheck Again. Mengabaikan peringatan dapat menyebabkan inkonsistensi data.

Langkah 5: Beli instans migrasi dan mulai tugas

  1. Tunggu hingga tingkat keberhasilan Pemeriksaan Awal mencapai 100%, lalu klik Purchase Instance.

  2. Di halaman Purchase Instance, konfigurasikan parameter berikut.

    ParameterDeskripsi
    Resource Group SettingsKelompok 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 Kelas instans untuk instans migrasi data.
  3. Pilih kotak centang Data Transmission Service (Pay-as-you-go) Service Terms.

  4. Klik Buy and Start. Tugas muncul di daftar tugas tempat Anda dapat melacak progresnya.

Setelah migrasi

Setelah tugas migrasi menunjukkan progres 100% (atau latensi turun mendekati nol untuk migrasi inkremental), selesaikan langkah-langkah berikut sebelum mengalihkan workload ke database tujuan:

  1. Verifikasi data: Jalankan ANALYZE TABLE <table_name> di database tujuan untuk memastikan data ditulis dengan benar. Hal ini sangat penting setelah alih bencana high-availability (HA) di sumber, di mana data mungkin hanya ditulis ke memori.

  2. Hentikan penulisan ke sumber: Alihkan semua traffic tulis aplikasi dari database sumber.

  3. Tunggu hingga migrasi inkremental selesai: Jika menjalankan migrasi data inkremental, tunggu hingga latensi mencapai nol.

  4. Stop or release the migration task: Sebelum beralih, hentikan atau rilis tugas, atau jalankan REVOKE untuk menghapus izin tulis DTS di tujuan. Hal ini mencegah tugas gagal yang dilanjutkan menimpa data tujuan.

  5. Pulihkan izin dan akun: Jika DTS mengubah atribut SECURITY untuk view, stored procedure, atau stored function (DEFINER ke INVOKER), berikan izin baca dan tulis yang diperlukan kepada INVOKER. Jika Anda tidak memigrasikan akun, buat ulang akun aplikasi di tujuan.

  6. Alihkan aplikasi Anda: Perbarui string koneksi agar mengarah ke database tujuan.

Langkah selanjutnya