Gunakan Data Transmission Service (DTS) untuk memigrasikan database MySQL yang dikelola sendiri ke ApsaraDB RDS for MySQL melalui koneksi jaringan pribadi (Express Connect, VPN Gateway, atau Smart Access Gateway). DTS mendukung migrasi skema, migrasi data penuh, dan migrasi data inkremental. Menggabungkan ketiga jenis migrasi ini menjaga aplikasi tetap berjalan selama proses migrasi dan meminimalkan downtime saat pergantian akhir.
Pilih pendekatan migrasi
| Tujuan | Jenis migrasi yang dipilih | Catatan |
|---|---|---|
| Migrasi satu kali dengan jendela pemeliharaan | Migrasi skema + migrasi data penuh | Hentikan penulisan ke sumber sebelum memulai. Tunggu hingga tugas selesai secara otomatis — jangan menghentikannya secara manual. |
| Replikasi berkelanjutan dengan pergantian downtime mendekati nol | Migrasi skema + migrasi data penuh + migrasi data inkremental | Menjaga sinkronisasi antara sumber dan tujuan hingga Anda siap beralih. Memerlukan binary logging di sumber. |
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Database MySQL yang dikelola sendiri yang menjalankan MySQL 5.1, 5.5, 5.6, 5.7, atau 8.0
Jaringan on-premises yang terhubung ke Alibaba Cloud melalui Express Connect, VPN Gateway, atau Smart Access Gateway
Instans ApsaraDB RDS for MySQL atau RDS MySQL Serverless dengan ruang penyimpanan bebas yang cukup untuk menampung semua data sumber
Akun database untuk database MySQL yang dikelola sendiri dengan izin yang diperlukan (lihat Izin yang diperlukan)
Akun database untuk instans RDS dengan izin baca dan tulis
Binary logging diaktifkan pada database MySQL yang dikelola sendiri, jika Anda berencana menggunakan migrasi data inkremental
Untuk instruksi penyiapan, lihat:
Izin yang diperlukan
| Database | Migrasi skema | Migrasi data penuh | Migrasi data inkremental |
|---|---|---|---|
| MySQL yang dikelola sendiri | SELECT | SELECT | REPLICATION SLAVE, REPLICATION CLIENT, SHOW VIEW, SELECT |
| ApsaraDB RDS for MySQL | Baca dan tulis | Baca dan tulis | Baca dan tulis |
Selama migrasi skema, DTS mengubah atribut SECURITY pada view, prosedur tersimpan, dan fungsi dari DEFINER menjadi INVOKER. DTS tidak memigrasikan akun pengguna. Untuk memanggil view, prosedur tersimpan, atau fungsi di tujuan, berikan izin yang diperlukan kepada INVOKER secara manual.
Untuk instruksi membuat akun dan memberikan izin, lihat:
MySQL yang dikelola sendiri: Buat akun untuk database MySQL yang dikelola sendiri dan konfigurasikan binary logging
RDS MySQL: Buat akun pada instans ApsaraDB RDS for MySQL dan Ubah izin akun
Penagihan
| Jenis migrasi | Biaya konfigurasi tugas | Biaya lalu lintas internet |
|---|---|---|
| Migrasi skema + migrasi data penuh | Gratis | Dikenakan hanya jika data dimigrasikan dari Alibaba Cloud melalui Internet. Lihat Ikhtisar penagihan. |
| Migrasi data inkremental | Dikenakan biaya. Lihat Ikhtisar penagihan. | — |
Batasan
Struktur tabel: Tabel harus memiliki PRIMARY KEY atau Kendala UNIK, dan semua bidang harus unik. Jika tidak, tujuan mungkin berisi catatan duplikat.
Presisi FLOAT/DOUBLE: DTS menggunakan fungsi
ROUND(COLUMN,PRECISION). Jika presisi tidak ditentukan, DTS menggunakan nilai default 38 digit untuk FLOAT dan 308 digit untuk DOUBLE. Verifikasi bahwa nilai default ini sesuai dengan kebutuhan Anda sebelum melakukan migrasi.Pembuatan database tujuan: DTS secara otomatis membuat database tujuan. Jika nama database sumber tidak memenuhi aturan penamaan RDS, buat database secara manual sebelum mengonfigurasi tugas migrasi.
Ukuran ruang tabel setelah migrasi penuh: Operasi INSERT bersamaan selama migrasi data penuh menyebabkan fragmentasi tabel, sehingga ruang tabel tujuan akan lebih besar daripada sumber. Jalankan
OPTIMIZE TABLEsetelah migrasi jika diperlukan.Pelanjutan tugas: Jika tugas migrasi gagal, DTS secara otomatis melanjutkannya. Hentikan atau lepas tugas sebelum mengalihkan beban kerja ke tujuan. Jika tidak, tugas yang dilanjutkan akan menimpa data di tujuan.
Dampak kinerja: Migrasi data penuh mengonsumsi sumber daya baca dan tulis di sumber dan tujuan. Jalankan migrasi selama jam sepi ketika pemanfaatan CPU di kedua database berada di bawah 30%.
Operasi SQL yang didukung selama migrasi data inkremental
| Jenis operasi | Pernyataan SQL |
|---|---|
| DML | INSERT, UPDATE, DELETE, REPLACE |
| DDL | ALTER TABLE, ALTER VIEW, CREATE FUNCTION, CREATE INDEX, CREATE PROCEDURE, CREATE TABLE, CREATE VIEW, DROP INDEX, DROP TABLE, RENAME TABLE, TRUNCATE TABLE |
Buat tugas migrasi
Masuk ke Konsol DTS.
Jika Anda dialihkan ke Konsol Data Management (DMS), klik ikon
di
untuk kembali ke Konsol DTS.Di panel navigasi kiri, klik Data Migration.
Di bagian atas halaman Migration Tasks, pilih wilayah tempat instans RDS tujuan berada.
Di pojok kanan atas, klik Create Migration Task.
Konfigurasikan database sumber dan tujuan.
Bagian Parameter Deskripsi N/A Nama tugas DTS menghasilkan nama secara otomatis. Tentukan nama deskriptif agar tugas lebih mudah diidentifikasi. Nama tugas tidak perlu unik. Database sumber Jenis instans Pilih User-Created Database Connected over Express Connect, VPN Gateway, or Smart Access Gateway. Wilayah instance Pilih wilayah virtual private cloud (VPC) yang terhubung ke Express Connect, VPN Gateway, atau Smart Access Gateway. Peer VPC Pilih VPC yang terhubung ke Express Connect, VPN Gateway, atau Smart Access Gateway. Jenis database Pilih MySQL. Alamat IP Masukkan titik akhir yang digunakan untuk mengakses database MySQL yang dikelola sendiri. Nomor port Masukkan port layanan. Nilai default adalah 3306. Akun database Masukkan akun untuk database MySQL yang dikelola sendiri. Password database Masukkan password akun. Setelah memasukkan password, klik Test Connectivity untuk memverifikasi koneksi. Jika pengujian berhasil, akan muncul Passed. Jika gagal, klik Check untuk melihat dan memperbaiki masalah. Database tujuan Jenis instans Pilih RDS Instance. Wilayah instans Pilih wilayah tempat instans RDS berada. ID instans RDS Pilih ID instans RDS. Akun database Masukkan akun untuk instans RDS. Password database Masukkan password akun. Setelah memasukkan password, klik Test Connectivity untuk memverifikasi koneksi. Enkripsi Pilih Non-encrypted atau SSL-encrypted. Untuk menggunakan enkripsi SSL, aktifkan SSL pada instans RDS sebelum mengonfigurasi tugas. 
Di pojok kanan bawah, klik Set Whitelist and Next.
PeringatanMenambahkan blok CIDR server DTS ke daftar putih database atau aturan security group ECS menciptakan risiko keamanan. Sebelum melanjutkan, ambil langkah pencegahan: gunakan password yang kuat, batasi port yang terbuka, autentikasi panggilan API, dan audit aturan daftar putih secara berkala. Atau, hubungkan database ke DTS melalui Express Connect, VPN Gateway, atau Smart Access Gateway.
Pilih jenis dan objek migrasi.
Pengaturan Deskripsi Pilih jenis migrasi Untuk migrasi satu kali, pilih Schema Migration dan Full Data Migration. Untuk migrasi downtime mendekati nol, pilih juga Incremental Data Migration. Jika Incremental Data Migration tidak dipilih, hentikan semua penulisan ke sumber selama migrasi data penuh untuk menjaga konsistensi data. Pilih objek Di bagian Available, pilih kolom, tabel, atau database yang akan dimigrasikan, lalu klik
untuk memindahkannya ke bagian Selected. Secara default, nama objek di tujuan sama dengan sumber. Untuk mengganti nama objek, gunakan fitur object name mapping. Mengganti nama objek dapat menyebabkan objek dependen gagal dimigrasikan.Rentang waktu percobaan ulang Jika DTS kehilangan koneksi ke sumber atau tujuan, DTS akan mencoba ulang hingga 720 menit (12 jam) secara default. Sesuaikan berdasarkan kebutuhan Anda. Jika DTS terhubung kembali dalam rentang waktu percobaan ulang, tugas akan dilanjutkan secara otomatis. DTS mengenakan biaya untuk instans selama periode percobaan ulang. Salin tabel temporary (DMS online DDL) Jika Anda menggunakan Data Management (DMS) untuk menjalankan operasi DDL Online di sumber, pilih Yes untuk juga memigrasikan tabel temporary yang dihasilkan oleh DDL Online (hal ini dapat memperpanjang waktu migrasi secara signifikan), atau pilih No untuk hanya memigrasikan data DDL asli (tabel di tujuan mungkin terkunci). 
Di pojok kanan bawah, klik Precheck.
DTS menjalankan Pemeriksaan Awal sebelum memulai migrasi. Tugas hanya dapat dimulai setelah lulus Pemeriksaan Awal. Jika ada item yang gagal, klik ikon
di sampingnya untuk melihat detailnya. Perbaiki masalah tersebut dan jalankan Pemeriksaan Awal lagi, atau abaikan item yang gagal dan jalankan Pemeriksaan Awal lagi jika item tersebut tidak menghalangi.Setelah tugas lulus Pemeriksaan Awal, klik Next.
Pada kotak dialog Confirm Settings, tentukan Channel Specification dan pilih Data Transmission Service (Pay-As-You-Go) Service Terms.
Klik Buy and Start.
Hentikan tugas migrasi dan alihkan beban kerja
Hanya migrasi skema + migrasi data penuh
Tunggu hingga tugas selesai secara otomatis. Jangan menghentikan tugas secara manual — tindakan ini dapat menyebabkan data tujuan tidak lengkap.
Migrasi skema + migrasi data penuh + migrasi data inkremental
Migrasi inkremental tidak berhenti secara otomatis. Ikuti langkah-langkah berikut untuk pergantian yang aman:
Tunggu hingga bilah kemajuan menampilkan Incremental Data Migration dan The migration task is not delayed.
Hentikan semua penulisan ke database sumber dan tunggu beberapa menit.
Tunggu hingga bilah kemajuan menampilkan The migration task is not delayed lagi, memastikan bahwa semua perubahan yang tersisa telah diterapkan.
Hentikan tugas migrasi secara manual.

Perbarui string koneksi aplikasi Anda agar mengarah ke instans RDS tujuan.
Hentikan tugas selama jam sepi atau tepat sebelum mengalihkan beban kerja untuk meminimalkan risiko.
Daftar periksa pasca-migrasi
Setelah mengalihkan beban kerja ke instans RDS tujuan, lakukan hal berikut:
Verifikasi konektivitas aplikasi: Pastikan aplikasi Anda dapat terhubung ke instans RDS dan kueri mengembalikan hasil yang diharapkan.
Buat ulang akun pengguna dan izin: DTS tidak memigrasikan akun pengguna. Buat ulang akun yang diperlukan dan berikan izin yang sesuai pada database tujuan.
Periksa view, prosedur tersimpan, dan fungsi: DTS mengubah atribut SECURITY dari DEFINER menjadi INVOKER. Berikan izin yang diperlukan kepada INVOKER untuk memanggil objek-objek ini.
Optimalkan tabel (jika diperlukan): Migrasi data penuh dapat menyebabkan fragmentasi tabel. Jalankan
OPTIMIZE TABLEpada tabel yang terpengaruh untuk mengembalikan ruang.Lepaskan tugas DTS: Setelah memastikan migrasi selesai, hentikan dan lepaskan instans DTS untuk menghindari biaya yang tidak perlu.