全部产品
Search
文档中心

ApsaraDB for MongoDB:Pulihkan data instans ke database MongoDB yang dikelola sendiri menggunakan cadangan logis

更新时间:Jul 02, 2025

Topik ini menjelaskan cara menggunakan mongorestore untuk memulihkan file cadangan logis dari instans ApsaraDB for MongoDB ke database MongoDB yang dikelola sendiri.

Prasyarat

  • Instans menggunakan local SSDs.

  • Versi database MongoDB yang dikelola sendiri harus sama dengan versi database dari instans ApsaraDB for MongoDB untuk memastikan kompatibilitas.

Informasi latar belakang

MongoDB menyediakan serangkaian alat cadangan dan pemulihan: mongodump dan mongorestore. Cadangan logis dari instans ApsaraDB for MongoDB dihasilkan menggunakan mongodump. Anda dapat menggunakan mongorestore untuk memulihkan cadangan logis tersebut ke database MongoDB yang dikelola sendiri.

Peringatan

  • Alat mongorestore versi sebelumnya tidak didukung di MongoDB versi terbaru. Kami menyarankan Anda memilih versi mongorestore yang kompatibel dengan versi MongoDB Anda. Untuk informasi lebih lanjut, lihat mongorestore.

  • Jika database MongoDB yang dikelola sendiri menggunakan arsitektur kluster sharded, Anda harus mengatur parameter <hostname> dalam perintah untuk mengimpor data cadangan ke titik akhir node mongos di database MongoDB yang dikelola sendiri.

  • Jika database MongoDB yang dikelola sendiri menggunakan arsitektur kluster sharded, Anda harus menambahkan --nsExclude="config.*" ke perintah. Jika tidak, kesalahan mungkin terjadi selama pemulihan data.

  • Saat memulihkan data dari instans kluster sharded ke database MongoDB yang dikelola sendiri, Anda harus mengunduh data cadangan dari setiap node shard di instans kluster sharded dan mengimpor data cadangan tersebut ke database MongoDB yang dikelola sendiri. Jika instans kluster sharded berisi dokumen yatim, data kotor mungkin terjadi di database yang dikelola sendiri. Jika Anda memulihkan file cadangan dari beberapa shard ke database yang sama dalam arsitektur kluster sharded, tambahkan parameter drop hanya untuk file cadangan dari shard pertama.

Persiapan

Unduh versi MongoDB yang sama dengan versi database dari instans ApsaraDB for MongoDB dan instal versi MongoDB tersebut pada klien tempat database MongoDB yang dikelola sendiri berada. Klien bisa berupa server lokal atau instans Elastic Compute Service (ECS). Untuk informasi lebih lanjut tentang metode instalasi, lihat Instal MongoDB.

Prosedur

  1. Masuk ke Konsol ApsaraDB for MongoDB.

  2. Di panel navigasi di sebelah kiri, klik Replica Set Instances atau Sharded Cluster Instances sesuai tipe instans.

  3. Di pojok kiri atas halaman, pilih grup sumber daya dan wilayah tempat instans berada.

  4. Klik ID instans, atau klik More icon di kolom Actions yang sesuai dengan instans dan pilih Manage.

  5. Cadangkan database.

    1. Di pojok kanan atas halaman detail instans, klik Back up Instance.

    2. Di panel Back up Instance, atur Backup Method menjadi Logical Backup.

    3. Klik OK. Tunggu hingga proses cadangan selesai.

  6. Unduh file cadangan. Untuk informasi lebih lanjut tentang metode unduhan, lihat Unduh File Cadangan.

  7. Salin file cadangan yang diunduh ke klien tempat database MongoDB yang dikelola sendiri berada. Klien dilengkapi dengan alat mongorestore.

  8. Jalankan perintah berikut untuk mengimpor data cadangan ke database MongoDB yang dikelola sendiri:

    mongorestore -h <hostname> --port <server port> -u <username> -p <password> --drop --gzip --archive=<backupfile> -vvvv --stopOnError

    Anda harus menentukan parameter berikut:

    • <hostname>: Alamat server tempat database MongoDB yang dikelola sendiri berada. Masukkan 127.0.0.1 untuk host lokal.

      Jika database MongoDB yang dikelola sendiri menggunakan arsitektur kluster sharded, atur parameter ini ke titik akhir node mongos di database MongoDB yang dikelola sendiri.

    • <server port>: Port yang digunakan untuk terhubung ke database MongoDB yang dikelola sendiri.

    • <username>: Akun yang digunakan untuk masuk ke database MongoDB yang dikelola sendiri. Pastikan akun tersebut memiliki izin pada semua database. Kami menyarankan menggunakan akun root.

    • <password>: Kata sandi akun yang digunakan untuk masuk ke database MongoDB yang dikelola sendiri.

    • <backupfile>: Nama file cadangan logis yang diunduh.

    Anda dapat menambahkan parameter berikut ke perintah:

    • --drop: Menghapus koleksi sebelum file cadangan dipulihkan.

      Catatan

      Jika Anda memulihkan file cadangan dari beberapa shard ke database yang sama dalam arsitektur kluster sharded, tambahkan parameter drop hanya untuk file cadangan dari shard pertama.

    • --gzip: Mendekompresi data cadangan dalam format GZIP.

      Catatan

      Parameter ini didukung mulai MongoDB 3.1.4. Untuk informasi lebih lanjut, lihat mongo-tools.

    • -vvvv: Menentukan seberapa rinci data cadangan. Semakin banyak jumlah v, semakin rinci data cadangan.

    • --stopOnError: Menghentikan impor data jika terjadi kesalahan.

    • --nsExclude: Tidak memulihkan kumpulan data yang cocok. Contoh: --nsExclude="config.*".

    Contoh:

    mongorestore -h 127.0.0.1 --port 27017 -u root -p ******** --drop --gzip --archive=hins1111_data_20190710.ar -vvvv --stopOnError