All Products
Search
Document Center

ApsaraDB for MongoDB:Migrasi data dari database MongoDB yang dikelola sendiri ke instance kluster sharded menggunakan mongodump dan mongorestore

Last Updated:Jul 06, 2025

Topik ini menjelaskan cara memigrasikan database MongoDB yang dikelola sendiri ke ApsaraDB for MongoDB menggunakan mongodump dan mongorestore, alat bawaan MongoDB untuk pencadangan dan pemulihan data. Anda dapat menginstal database MongoDB yang dikelola sendiri pada server lokal atau Instance ECS, lalu menggunakan mongodump dan mongorestore untuk migrasi ke instance kluster sharded ApsaraDB for MongoDB.

Informasi latar belakang

Prasyarat

  • mongodump dan mongorestore harus diinstal pada server yang berbeda dari database MongoDB yang dikelola sendiri, tetapi menjalankan versi yang sama dengan database tersebut. Untuk panduan instalasi, kunjungi Instal MongoDB di situs resmi MongoDB.

    Catatan

    Anda juga dapat menjalankan perintah mongodump dan mongorestore pada server tempat database MongoDB yang dikelola sendiri berada.

  • Kapasitas penyimpanan instance kluster sharded tujuan harus lebih besar daripada ruang penyimpanan yang digunakan oleh database MongoDB yang dikelola sendiri. Jika kapasitas tidak mencukupi, Anda dapat meningkatkan instance. Untuk informasi lebih lanjut, lihat Ubah Konfigurasi Instance.

Peringatan

  • Ini adalah migrasi data penuh. Untuk memastikan konsistensi data, disarankan untuk menghentikan penulisan data ke database MongoDB yang dikelola sendiri sebelum memulai migrasi.

  • Jika Anda telah menjalankan perintah mongodump untuk mencadangkan database MongoDB yang dikelola sendiri, pindahkan file cadangan dari folder dump ke direktori lain dan pastikan bahwa folder dump kosong. File cadangan historis akan ditimpa jika folder tidak dikosongkan saat pencadangan berikutnya dilakukan.

  • Jalankan perintah mongodump dan mongorestore pada server. Jangan jalankan perintah ini di mongo shell.

Langkah 1: Cadangkan database MongoDB yang dikelola sendiri

  1. Pada server tempat database MongoDB yang dikelola sendiri berada, jalankan perintah berikut untuk mencadangkan semua database:

    mongodump --host <mongodb_host> --port <port>  -u <username>  --authenticationDatabase  <database>
    Catatan
    • <mongodb_host>: Alamat server tempat database MongoDB yang dikelola sendiri berada. Masukkan 127.0.0.1 dalam hal ini.

    • <port>: Port layanan database MongoDB yang dikelola sendiri. Nilai defaultnya adalah 27017.

    • <username>: Akun yang digunakan untuk masuk ke database MongoDB yang dikelola sendiri. Contoh dalam topik ini menggunakan akun test.

    • <database>: Nama database yang sesuai dengan akun jika otentikasi diaktifkan.

    Berikut ini adalah contoh kode:

    mongodump --host 127.0.0.1 --port 27017 -u test --authenticationDatabase admin
  2. Ketika Masukkan kata sandi: muncul, masukkan kata sandi pengguna database dan tekan Enter. Operasi pencadangan data dimulai.

Tunggu hingga pencadangan data selesai. Data dari database MongoDB yang dikelola sendiri dicadangkan ke folder dump di direktori tempat Anda menjalankan perintah ini.

Langkah 2: (Opsional) Konfigurasikan sharding data

Jika konfigurasi sharding data belum dilakukan, data hanya akan ditulis ke shard utama. Sumber daya penyimpanan dan komputasi shard lainnya tidak digunakan. Untuk informasi lebih lanjut, lihat Konfigurasikan Sharding untuk Memaksimalkan Performa Shard.

Catatan

Anda harus membuat database dan koleksi yang diperlukan di instance kluster sharded tujuan sebelum migrasi data. Namun, Anda dapat mengonfigurasi sharding data untuk database dan koleksi tersebut sebelum atau setelah migrasi data.

Langkah 3: Migrasikan data ke instance kluster sharded tujuan

  1. Dapatkan string koneksi publik atau internal dari mongos di instance kluster sharded tujuan. Untuk informasi lebih lanjut, lihat Ikhtisar Koneksi Instance Kluster Sharded.

    Catatan

    Anda harus secara manual mengajukan permohonan endpoint publik. Untuk informasi lebih lanjut, lihat Ajukan Endpoint Publik untuk Instance Kluster Sharded.

  2. Tambahkan alamat IP server tempat database MongoDB yang dikelola sendiri berada ke daftar putih instance kluster sharded tujuan. Untuk informasi lebih lanjut, lihat Konfigurasikan Daftar Putih untuk Instance.

    Catatan
    • Jika Anda ingin terhubung ke instance kluster sharded melalui jaringan internal, tambahkan alamat IP privat Instance ECS tempat database MongoDB yang dikelola sendiri berada ke daftar putih instance kluster sharded.

    • Jika Anda ingin terhubung ke instance kluster sharded melalui Internet, tambahkan alamat IP publik server tempat database MongoDB yang dikelola sendiri berada ke daftar putih instance kluster sharded.

  3. Pada server tempat database MongoDB yang dikelola sendiri berada, jalankan perintah berikut untuk memulihkan semua file cadangan ke instance kluster sharded tujuan:

    mongorestore --host <Mongos_host>  -u <username> --authenticationDatabase <database> <Direktori Cadangan>
    Catatan
    • <Mongos_host>: String koneksi dari mongos apa pun di instance ApsaraDB for MongoDB.

    • <username>: Akun yang digunakan untuk masuk ke database instance kluster sharded tujuan. Akun awal adalah root.

    • <database>: Nama database yang sesuai dengan nama pengguna jika otentikasi diaktifkan. Jika akunnya adalah root, masukkan admin.

    • <Direktori Cadangan>: Direktori tempat file cadangan disimpan. Nilai defaultnya adalah dump.

    Berikut ini adalah contoh kode:

    Akun database adalah test dan database adalah admin.

    mongorestore --host s-bp19f409d7512****-pub.mongodb.rds.aliyuncs.com:3717 -u test --authenticationDatabase admin dump
  4. Ketika Masukkan kata sandi: muncul, masukkan kata sandi pengguna database dan tekan Enter. Operasi pemulihan data dimulai.

    Catatan

    Karakter kata sandi disembunyikan saat Anda memasukkan kata sandi.

Setelah pemulihan data selesai, alihkan bisnis Anda ke instance kluster sharded tujuan. Kami menyarankan melakukan pergantian selama jam-jam sepi untuk meminimalkan dampak pada bisnis Anda.