All Products
Search
Document Center

ApsaraDB RDS:Migrasi database MariaDB yang dikelola sendiri ke ApsaraDB RDS for MariaDB menggunakan mysqldump

Last Updated:Jun 21, 2026

Gunakan alat mysqldump untuk memigrasikan data dari database MariaDB yang dikelola sendiri ke instans ApsaraDB RDS for MariaDB.

Latar Belakang

ApsaraDB RDS for MariaDB sepenuhnya kompatibel dengan MariaDB asli. Oleh karena itu, migrasi database Anda ke instans RDS mirip dengan migrasi data antara dua server MariaDB.

Topik ini menggunakan contoh database yang dikelola sendiri yang berjalan di Linux 7 dan MariaDB 10.2.4.

Catatan Penggunaan

Setelah migrasi, nama tabel dikonversi menjadi huruf kecil dan menjadi tidak peka terhadap huruf besar/kecil (case-insensitive).

Prasyarat

Anda telah mengonfigurasi daftar putih alamat IP dan mengajukan titik akhir publik untuk instans ApsaraDB RDS for MariaDB Anda.

Prosedur

  1. Gunakan klien untuk menghubungkan ke instans ApsaraDB RDS for MariaDB Anda dan buat database kosong. Pada contoh ini, database diberi nama test001. Di klien MySQL-Front, hubungkan ke instans MariaDB dan jalankan perintah create database test001; di SQL Editor untuk membuat database target. Setelah perintah dijalankan, database test001 akan muncul dalam daftar database di panel kiri.

  2. Masuk ke server Linux lokal Anda dan gunakan alat mysqldump untuk mengekspor data database ke file.

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

    Contoh:

    Catatan

    Akun user pada contoh berikut harus memiliki izin tertentu. Untuk petunjuk selengkapnya, lihat Pengaturan izin.

    mysqldump -h localhost -u user -p --opt --default-character-set=utf8 --hex-blob testdb --skip-triggers > /tmp/testdb.sql
    Penting

    Jangan melakukan pembaruan data selama proses ekspor. Langkah ini hanya mengekspor data database, bukan prosedur tersimpan, pemicu, atau fungsi.

  3. Gunakan mysqldump untuk mengekspor prosedur tersimpan, pemicu, dan fungsi.

    mysqldump -h localhost -u <source_username> -p --opt --default-character-set=utf8 --hex-blob <source_database_name> -R | sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' > /tmp/<source_database_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
    Catatan

    Jika database Anda tidak menggunakan prosedur tersimpan, pemicu, atau fungsi, lewati langkah ini. Saat mengekspor objek-objek tersebut, hapus klausa DEFINER agar kompatibel dengan ApsaraDB RDS for MariaDB.

  4. Jalankan perintah berikut untuk mengimpor file yang telah diekspor ke instans ApsaraDB RDS for MariaDB target.

    mysql -h <rds_public_endpoint> -P <rds_port> -u <privileged_account> -p <target_database_name> < /tmp/<source_database_name>.sql
    mysql -h <rds_public_endpoint> -P <rds_port> -u <privileged_account> -p <target_database_name> < /tmp/<source_database_name>_trigger.sql

    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
  5. Segarkan klien Anda dan periksa tabel-tabel di database target untuk memverifikasi bahwa data telah berhasil dimigrasikan.