全部产品
Search
文档中心

ApsaraDB RDS:Gunakan mysqldump untuk memindahkan data dari database MariaDB yang dikelola sendiri ke instans ApsaraDB RDS untuk MariaDB

更新时间:Jul 02, 2025

Topik ini menjelaskan cara memindahkan data dari database MariaDB yang dikelola sendiri ke instans ApsaraDB RDS untuk MariaDB.

Informasi latar belakang

ApsaraDB RDS untuk MariaDB sepenuhnya kompatibel dengan layanan database MariaDB asli. Proses memindahkan data dari database MariaDB yang dikelola sendiri ke instans RDS mirip dengan proses memindahkan data antara dua server database MariaDB.

Dalam topik ini, server database yang menampung database MariaDB yang dikelola sendiri menjalankan Linux 7 dan MariaDB 10.2.4.

Catatan penggunaan

Setelah migrasi selesai, nama tabel tidak peka terhadap huruf besar atau kecil. Semua nama tabel disediakan dalam huruf kecil.

Prasyarat

Daftar putih alamat IP dikonfigurasi dan titik akhir publik diperoleh untuk instans RDS. Untuk informasi lebih lanjut, lihat Konfigurasikan Daftar Putih Alamat IP dan Ajukan Permohonan atau Lepaskan Titik Akhir Publik.

Prosedur

  1. Gunakan alat koneksi jarak jauh untuk masuk ke instans RDS dan buat database kosong. Database ini adalah database tujuan ke mana data dipindahkan. Sebagai contoh, Anda dapat membuat database kosong bernama test001. Untuk informasi lebih lanjut, lihat Hubungkan ke Instans ApsaraDB RDS untuk MariaDB.

  2. Masuk ke server database lokal. Kemudian, gunakan alat mysqldump yang disediakan dengan MariaDB untuk mengekspor data dari database lokal sebagai file. File ini dikenal sebagai file data.

    mysqldump -h localhost -u <Nama pengguna akun database yang dikelola sendiri> -p --opt --default-character-set=utf8 --hex-blob <Nama database yang dikelola sendiri> --skip-triggers > /tmp/<Nama database yang dikelola sendiri>.sql

    Contoh perintah

    Catatan

    Pengguna yang digunakan dalam langkah-langkah berikutnya harus memiliki izin yang diperlukan. Untuk informasi lebih lanjut, lihat mariadb-dump/mysqldump.

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

    Jangan perbarui data selama proses ekspor. Pada langkah ini, hanya data yang diekspor. Prosedur tersimpan, pemicu, dan fungsi tidak diekspor.

  3. Gunakan alat mysqldump untuk mengekspor prosedur tersimpan, pemicu, dan fungsi sebagai file. File ini dikenal sebagai file prosedur tersimpan.

    mysqldump -h localhost -u <Nama pengguna akun database yang dikelola sendiri> -p --opt --default-character-set=utf8 --hex-blob <Nama database yang dikelola sendiri> -R | sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' > /tmp/<Nama database yang dikelola sendiri>_trigger.sql

    Contoh perintah

    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 MariaDB yang dikelola sendiri tidak berisi prosedur tersimpan, pemicu, atau fungsi, Anda dapat melewati langkah ini. Dalam proses ekspor ini, Anda harus menghapus DEFINER untuk memastikan kompatibilitas dengan ApsaraDB RDS untuk MariaDB.

  4. Jalankan perintah berikut untuk mengimpor file data dan file prosedur tersimpan ke instans RDS:

    mysql -h <Titik akhir publik instans RDS> -P <Port publik instans RDS> -u <Nama pengguna akun istimewa instans RDS> -p <Nama database tujuan pada instans RDS> < /tmp/<Nama database yang dikelola sendiri>.sql
    mysql -h <Titik akhir publik instans RDS> -P <Port publik instans RDS> -u <Nama pengguna akun istimewa instans RDS> -p <Nama database tujuan pada instans RDS < /tmp/<Nama database yang dikelola sendiri>trigger.sql

    Contoh perintah

    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 alat koneksi jarak jauh dan lihat tabel dalam database tujuan instans RDS. Jika tabel berisi data, migrasi berhasil.