Topik ini memandu Anda dalam migrasi instans ApsaraDB RDS for MySQL ke kluster PolarDB for MySQL. PolarDB secara otomatis membuat kluster, menyinkronkan data Anda, serta mewarisi akun, database, daftar putih alamat IP, dan parameter yang diperlukan dari instans RDS sumber.
Dalam panduan ini, Anda akan:
Menjalankan Pemeriksaan Awal untuk menyiapkan instans RDS sumber
Membuat kluster PolarDB tujuan menggunakan metode Migrate from RDS
(Opsional) Tambahkan endpoint untuk menghindari perubahan koneksi setelah failover.
Alihkan layanan sehingga kluster PolarDB menjadi database baca/tulis utama.
(Opsional) Beralih ke tugas DTS yang sudah ada
Menyelesaikan migrasi untuk menyelesaikan proses
(Opsional) Melepas atau berhenti berlangganan instans RDS sumber
Pilih metode migrasi
Tersedia dua metode migrasi. Pilih metode yang sesuai dengan instans sumber Anda:
| Physical migration | Logical migration | |
|---|---|---|
| Cara kerja | Mereplikasi data secara langsung di tingkat penyimpanan | Menyinkronkan data menggunakan Data Transmission Service (DTS) |
| Versi sumber yang didukung | RDS MySQL 5.6 atau 5.7, Edisi Ketersediaan Tinggi dengan SSD lokal | Semua spesifikasi RDS MySQL lainnya |
| Versi target | Versi MySQL yang sama dengan sumber | Versi MySQL yang sama atau berbeda |
| Kecepatan | Lebih cepat, terutama untuk database besar | Lebih lambat untuk dataset besar; DTS membaca dan menulis database sumber dan tujuan selama sinkronisasi penuh |
Untuk perbandingan mendetail, lihat Perbandingan antara physical migration dan logical migration.
Pemeriksaan Awal
Periksa apakah peran terkait layanan untuk PolarDB telah dibuat (hanya untuk logical migration)
Sebelum menjalankan logical migration, pastikan peran terkait layanan untuk PolarDB sudah ada dan Data Transmission Service (DTS) telah diotorisasi untuk mengakses resource Alibaba Cloud.
Hapus akun sistem tambahan dari instans RDS sumber (hanya untuk logical migration)
Untuk mencegah akun sistem di kluster PolarDB tujuan tertimpa selama migrasi, pastikan instans RDS sumber tidak berisi akun root dan aliyun_root secara bersamaan. Akun sistem yang benar bergantung pada versi RDS MySQL:
| Versi RDS MySQL | Akun sistem yang benar |
|---|---|
| RDS MySQL 5.6 | root |
| RDS MySQL 5.7 | aliyun_root |
| RDS MySQL 8.0 | aliyun_root |
Hapus akun apa pun yang tidak tercantum sebagai akun yang benar untuk versi Anda. Misalnya, jika Anda menjalankan RDS MySQL 5.7 dan Anda membuat akun root secara manual di konsol, hapus akun tersebut sebelum memulai migrasi. Pastikan terlebih dahulu bahwa akun tersebut tidak digunakan di lingkungan produksi.
Contoh berikut menunjukkan cara menghapus akun sistem tambahan dari instans RDS MySQL 5.6:
Hubungkan ke database menggunakan akun istimewa.
Cari semua akun sistem
rootdanaliyun_root:SELECT * FROM mysql.user WHERE `user` IN ('root', 'aliyun_root');Hapus akun tambahan tersebut. Untuk RDS MySQL 5.6,
rootadalah akun yang benar, sehingga hapusaliyun_root:DELETE FROM mysql.user WHERE `user` = 'aliyun_root' LIMIT n;
(Opsional) Periksa konfigurasi daftar putih
Jika konfigurasi daftar putih instans RDS primary dan instans RDS read-only berbeda, gabungkan daftar putih instans read-only ke dalam daftar putih instans primary sebelum memulai migrasi. Hal ini memastikan daftar putih instans read-only disinkronkan secara otomatis ke kluster PolarDB tujuan.
Langkah 1: Buat kluster PolarDB tujuan
Buat kluster PolarDB yang mencerminkan data di instans RDS sumber. Setelah kluster dibuat, data inkremental terus-menerus disinkronkan dari instans RDS sumber ke kluster PolarDB secara real time.
Selesaikan Evaluasi migrasi terlebih dahulu sebelum memulai. Untuk informasi lebih lanjut, lihat Evaluasi migrasi.
Pastikan ruang penyimpanan yang tersedia di kluster PolarDB melebihi ruang penyimpanan yang digunakan oleh instans RDS sumber.
Untuk logical migration, DTS membaca dan menulis kedua database (sumber dan tujuan) selama sinkronisasi data penuh, yang dapat meningkatkan beban database. Untuk membatasi dampaknya, aktifkan pembatasan kecepatan. Untuk informasi lebih lanjut, lihat Aktifkan pembatasan kecepatan untuk migrasi data.
Login ke Konsol PolarDB. Di panel navigasi kiri, klik Clusters. Di halaman Clusters, klik Create Cluster.
Atur Billing Method menjadi Subscription, Pay-as-you-go, atau Serverless:
Subscription: Bayar di muka untuk node komputasi. Penyimpanan ditagih berdasarkan penggunaan aktual per jam.
Pay-as-you-go: Tidak ada pembayaran di muka. Biaya node komputasi dan penyimpanan dipotong per jam berdasarkan penggunaan aktual.
Serverless: Tidak ada pembayaran di muka. Node komputasi, penyimpanan, dan PolarProxy diskalakan secara dinamis sesuai permintaan. Biaya berdasarkan penggunaan aktual.
Konfigurasikan parameter kluster. Parameter utama dijelaskan dalam tabel berikut.
Catatan Untuk parameter yang tidak tercantum di sini, lihat Beli kluster.Parameter Deskripsi Creation method Pilih Migrate from RDS. Kluster PolarDB beroperasi dalam mode read-only hingga migrasi selesai. Binary logging diaktifkan secara default. Region Wilayah tempat instans RDS sumber dideploy. Kluster PolarDB tujuan harus berada di wilayah yang sama. RDS engine type Engine database instans RDS sumber. Tetap pada MySQL. RDS engine version Versi MySQL instans RDS sumber: 5.6, 5.7, atau 8.0. Source RDS instance Instans RDS sumber yang akan dimigrasikan. Instans read-only tidak termasuk. Database engine Versi MySQL untuk kluster PolarDB tujuan. Dapat sama atau berbeda dari versi sumber. Node specifications Spesifikasi node komputasi. Pilih spesifikasi yang sama atau lebih tinggi daripada instans RDS sumber. Untuk spesifikasi yang tersedia, lihat Spesifikasi node komputasi PolarDB untuk MySQL Edisi Perusahaan. Storage engine InnoDB atau InnoDB & X-Engine. Jika Anda memilih InnoDB & X-Engine, Anda dapat menentukan rasio penggunaan memori X-Engine. Untuk informasi lebih lanjut, lihat X-Engine. Di pojok kanan atas, tinjau konfigurasi, lalu atur parameter Duration, Quantity, dan Auto-renewal. Parameter Duration hanya berlaku untuk kluster subscription.
Baca dan terima syarat layanan, lalu klik Confirm Order.
Di halaman Purchase, konfirmasi pesanan dan metode pembayaran, lalu klik Purchase.
CatatanSetelah pembayaran, tunggu 10 hingga 15 menit hingga kluster muncul di halaman Clusters.
Jika status node menunjukkan Creating, kluster masih dalam proses inisialisasi. Kluster tersedia hanya ketika statusnya Running.
Pastikan Anda memilih wilayah yang benar. Jika tidak, kluster tidak akan muncul dalam daftar.
Setelah kluster dibuat, klik ID kluster untuk membuka halaman Basic Information.
Di bagian RDS Migration, pantau nilai Replication Latency. Ketika nilainya turun di bawah 60 detik, Anda dapat melanjutkan ke Langkah 3: Alih bencana layanan.
CatatanJangan migrasi atau tingkatkan instans yang memiliki tugas sinkronisasi data DTS dua arah yang sedang berjalan. Ketidakkonsistenan data dapat terjadi.
Setelah kluster dibuat, sinkronisasi data dari instans RDS dimulai. Selesaikan Langkah 5 dalam waktu 30 hari setelah kluster dibuat. Jika tidak, tugas migrasi akan dinonaktifkan secara otomatis.
Untuk logical migration: jika bagian RDS Migration menampilkan Precheck Failed setelah kluster dibuat, ikuti petunjuk dalam pesan error untuk pemecahan masalah.

Misalnya, jika instans RDS sumber berisi trigger, pemeriksaan awal gagal dengan pesan "The RDS instance has a trigger." Hapus trigger tersebut dan klik Continue Migration, atau klik Cancel Migration dan buat tugas sinkronisasi data secara manual di konsol DTS. Untuk informasi lebih lanjut, lihat Konfigurasikan tugas sinkronisasi data untuk database sumber yang berisi trigger.
Anda juga dapat mengklik Cancel Migration pada tahap ini. Untuk informasi tentang dampak pembatalan migrasi, lihat FAQ.

(Opsional) Langkah 2: Tambahkan endpoint
Jika Anda ingin alih bencana layanan tanpa mengubah string koneksi aplikasi, pilih opsi Switch with Endpoints (Connection Changes Not Required) selama alih bencana. Opsi ini secara otomatis menukar endpoint antara instans RDS sumber dan kluster PolarDB tujuan. Setelah alih bencana, aplikasi Anda terhubung ke PolarDB menggunakan string koneksi asli.
Agar pertukaran endpoint berfungsi, baik instans RDS sumber maupun kluster PolarDB tujuan harus memiliki endpoint yang sesuai. Secara default, PolarDB hanya membuat private primary endpoint dan private cluster endpoint. Jika instans RDS sumber memiliki endpoint tambahan, buat endpoint yang sesuai di PolarDB sebelum alih bencana.
Untuk menambahkan endpoint ke kluster PolarDB, lihat Kelola endpoint.
Untuk menambahkan endpoint ke instans RDS, lihat Konfigurasikan endpoint untuk instans RDS.
Jika Anda tidak menambahkan endpoint sebelum alih bencana, tambahkan setelah alih bencana setelah kluster PolarDB berada dalam status running.
Untuk menukar private endpoint, instans RDS sumber dan kluster PolarDB tujuan harus berada dalam virtual private cloud (VPC) yang sama. Jika berada di VPC berbeda, layanan yang ada akan kehilangan konektivitas setelah alih bencana.
Langkah 3: Mengalihkan layanan
Ketika Replication Latency di bagian RDS Migration turun di bawah 60 detik, lakukan alih bencana.
Login ke Konsol PolarDB.
Temukan kluster tujuan dan klik ID kluster tersebut.
Di bagian RDS Migration pada halaman Basic Information, klik Switch Over.
CatatanAlih bencana biasanya memerlukan waktu sekitar 5 menit.
Setelah alih bencana, instans RDS sumber berubah menjadi Read-only dan kluster PolarDB berubah menjadi Read and Write. Data inkremental kemudian direplikasi dari kluster PolarDB kembali ke instans RDS.

Di kotak dialog Switches the business over to the new database, pilih metode alih bencana.
Switch with Endpoints (Connection Changes Not Required) Sistem menukar endpoint antara instans RDS dan kluster PolarDB. Aplikasi terhubung ke PolarDB menggunakan string koneksi yang ada, tanpa perubahan konfigurasi. > Important: Sebelum memilih opsi ini, tinjau catatan untuk alih bencana dengan endpoint. Klik OK, lalu konfirmasi di kotak dialog.
Switch without Endpoints (Connection Changes Required) Klik OK, lalu konfirmasi di kotak dialog. Setelah alih bencana selesai, refresh halaman. Ketika status Read/Write Status PolarDB berubah menjadi Read and Write, perbarui endpoint database di aplikasi Anda.

(Opsional) Langkah 4: Switchover tugas DTS
Jika instans sumber tidak terlibat dalam tugas DTS (selain tugas migrasi satu klik), tombol Business DTS Task Database Endpoint Switchover tidak muncul di konsol. Lewati langkah ini.
Selama migrasi skema dan migrasi data penuh, jangan jalankan pernyataan DDL yang mengubah skema database atau tabel. Melakukannya menyebabkan tugas migrasi gagal.
Jika instans sumber terlibat dalam tugas DTS (bukan tugas migrasi satu klik), modifikasi database sumber atau tujuan tugas DTS untuk alih bencana yang lancar. Untuk detail cara kerja fitur ini, lihat ModifyDtsJobEndpoint.
Login ke Konsol PolarDB.
Temukan kluster tujuan dan klik ID kluster tersebut.
Di bagian RDS Migration pada halaman Basic Information, klik Business DTS Task Database Endpoint Switchover.

Di kotak dialog Business DTS Task Database Endpoint Switchover, pilih opsi.
Source Instance DTS Task (Forward Switchover): Pilih tugas DTS instans RDS sumber, lalu klik Forward Switchover.
Tugas DTS Instance Tujuan (Pembalikan Alihkan):
Pilih tugas DTS untuk kluster PolarDB tujuan, lalu klik Commit Switchover Rollback.
PentingSebelum melanjutkan, periksa status tugas sinkronisasi DTS untuk instans RDS sumber dan kluster PolarDB tujuan. Untuk detailnya, lihat DescribeDtsJobDetail.

Forward Switchover: Gunakan opsi ini setelah Langkah 3 (Alih bencana layanan) tetapi sebelum Langkah 5 (Selesaikan migrasi). Opsi ini mengalihkan tugas DTS dari instans RDS sumber ke kluster PolarDB.
Switchover Rollback: Gunakan opsi ini setelah melakukan rollback migrasi tetapi sebelum membatalkannya. Opsi ini mengembalikan tugas DTS dari kluster PolarDB ke instans RDS sumber.
Langkah 5: Selesaikan migrasi
Setelah membuat kluster PolarDB di Langkah 1, klik Complete Migration dalam waktu 30 hari.
Hanya klik Complete Migration setelah memastikan migrasi data telah selesai dan Anda tidak lagi memerlukan sinkronisasi data. Untuk physical migration, ini menghentikan replikasi data dari instans RDS ke kluster PolarDB. Untuk logical migration, ini menghapus tugas sinkronisasi data DTS.
Operasi ini secara permanen memutus sinkronisasi data antara kluster PolarDB dan instans RDS. Opsi Cancel Migration tidak akan tersedia lagi. Jalankan kluster PolarDB di lingkungan produksi selama beberapa waktu dan pastikan stabil sebelum menyelesaikan migrasi.
Login ke Konsol PolarDB.
Temukan kluster dan klik ID kluster tersebut.
Di bagian RDS Migration pada halaman Basic Information, klik Complete Migration. Di kotak dialog, klik OK.
CatatanSetelah Anda mengklik OK, sistem menghentikan sinkronisasi data dalam waktu sekitar 2 menit. Selama proses ini, status migrasi menunjukkan Disable Synchronization. Tunggu hingga migrasi selesai.
Di kotak dialog Complete Migration, Anda dapat memilih untuk menonaktifkan binary logging untuk kluster PolarDB. Menonaktifkan binary logging sedikit meningkatkan performa write. Kluster akan restart secara otomatis agar perubahan berlaku.
Jika Anda perlu melakukan perpanjangan atau perubahan konfigurasi pada instans RDS sumber, klik Complete Migration terlebih dahulu.

(Opsional) Lepaskan atau batalkan langganan instans RDS sumber
Setelah memastikan layanan Anda berjalan dengan benar di kluster PolarDB dan Anda tidak lagi memerlukan instans RDS sumber, lepaskan atau batalkan langganan instans tersebut:
Instans subscription: Batalkan langganan untuk menghentikan tagihan lebih lanjut. Untuk detailnya, lihat Batalkan langganan instans RDS primary subscription.
Instans pay-as-you-go: Lepaskan instans segera untuk menghentikan tagihan per jam. Untuk detailnya, lihat Lepaskan atau batalkan langganan instans ApsaraDB RDS for MySQL.
(Opsional) Lihat detail tugas sinkronisasi data DTS (hanya untuk logical migration)
Jika Anda mengalami error migrasi (seperti kegagalan pemeriksaan awal) atau anomali (seperti latency replikasi tinggi) selama logical migration, lihat detail tugas DTS untuk mendiagnosis masalah.
Login ke Konsol PolarDB.
Temukan kluster dan klik ID kluster tersebut.
Di bagian RDS Migration pada halaman Basic Information, klik nama DTS Data Synchronization Task untuk membuka daftar tugas di konsol DTS.

Temukan tugas sinkronisasi. Anda dapat melihat detail kegagalan pemeriksaan awal, detail tugas, dan log tugas.


Untuk menambahkan database baru ke cakupan sinkronisasi selama migrasi, klik Reselect Objects.






