All Products
Search
Document Center

ApsaraDB RDS:Migrasi MariaDB yang dikelola sendiri ke cloud dengan mysqldump

Last Updated:Mar 29, 2026

ApsaraDB RDS for MariaDB sepenuhnya kompatibel dengan MariaDB native, sehingga proses migrasi datanya sama seperti memindahkan data antara dua server MariaDB. Topik ini memandu Anda melalui seluruh proses migrasi menggunakan mysqldump: mengekspor data tabel dan prosedur tersimpan dari database yang dikelola sendiri, lalu mengimpornya ke instans RDS.

Contoh dalam topik ini menggunakan database sumber yang berjalan di Linux 7 dengan MariaDB 10.2.4.

Setelah migrasi, semua nama tabel disimpan dalam huruf kecil dan tidak peka terhadap huruf besar/kecil (case-insensitive) pada instans RDS.

Prasyarat

Sebelum memulai, pastikan Anda telah:

Migrasi data

Langkah 1: Buat database tujuan

Login ke instans RDS menggunakan alat koneksi jarak jauh dan buat database kosong untuk menerima data yang dimigrasikan. Misalnya, buat database bernama test001. Lihat Hubungkan ke instans ApsaraDB RDS for MariaDB.

Langkah 2: Ekspor file data

Penting

Jangan menulis ke database sumber selama proses ekspor berlangsung. Penulisan bersamaan (concurrent writes) dapat menyebabkan ketidakkonsistenan data dalam file dump.

Pada server database on-premises, jalankan mysqldump untuk mengekspor data tabel ke file SQL. Perintah ini mengecualikan prosedur tersimpan, pemicu, dan fungsi — komponen tersebut diekspor secara terpisah pada Langkah 3.

mysqldump -h localhost -u <username> -p --opt --default-character-set=utf8 --hex-blob <db_name> --skip-triggers > /tmp/<db_name>.sql

Ganti placeholder dengan nilai Anda:

PlaceholderDeskripsiContoh
<username>Username akun database yang dikelola sendiriuser
<db_name>Nama database yang dikelola sendiri yang akan dieksportestdb

Contoh:

mysqldump -h localhost -u user -p --opt --default-character-set=utf8 --hex-blob testdb --skip-triggers > /tmp/testdb.sql
Akun database harus memiliki izin yang diperlukan untuk menjalankan mysqldump. Untuk daftar lengkap izin yang dibutuhkan, lihat referensi mysqldump.

Langkah 3: Ekspor prosedur tersimpan, pemicu, dan fungsi

Jika database Anda berisi prosedur tersimpan, pemicu, atau fungsi, ekspor komponen tersebut ke file terpisah. Perintah sed menghapus klausa DEFINER, yang diperlukan agar kompatibel dengan ApsaraDB RDS for MariaDB.

mysqldump -h localhost -u <username> -p --opt --default-character-set=utf8 --hex-blob <db_name> -R | sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' > /tmp/<db_name>_trigger.sql

Contoh:

mysqldump -h localhost -u user -p --opt --default-character-set=utf8 --hex-blob testdb -R | sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' > /tmp/testdb_trigger.sql
Lewati langkah ini jika database sumber tidak memiliki prosedur tersimpan, pemicu, atau fungsi.

Langkah 4: Impor ke instans RDS

Jalankan perintah berikut untuk mengimpor file data, lalu file prosedur tersimpan ke database tujuan. Impor file data terlebih dahulu.

mysql -h <endpoint> -P <port> -u <username> -p <dest_db> < /tmp/<db_name>.sql
mysql -h <endpoint> -P <port> -u <username> -p <dest_db> < /tmp/<db_name>_trigger.sql

Ganti placeholder dengan nilai Anda:

PlaceholderDeskripsiContoh
<endpoint>Titik akhir publik instans RDSrm-bpxxxxx.mariadb.rds.aliyuncs.com
<port>Port publik instans RDS3306
<username>Username akun istimewa pada instans RDStestuser
<dest_db>Nama database tujuan pada instans RDStest001
<db_name>Nama database yang dikelola sendiri (digunakan dalam path file)testdb

Contoh:

mysql -h rm-bpxxxxx.mariadb.rds.aliyuncs.com -P 3306 -u testuser -p test001 < /tmp/testdb.sql
mysql -h rm-bpxxxxx.mariadb.rds.aliyuncs.com -P 3306 -u testuser -p test001 < /tmp/testdb_trigger.sql

Langkah 5: Verifikasi migrasi

Segarkan alat koneksi jarak jauh dan periksa tabel-tabel di database tujuan. Jika tabel sudah ada dan berisi data, migrasi telah selesai.