Gunakan mongodump dan mongorestore untuk melakukan migrasi offline penuh dari database MongoDB Atlas ke instans ApsaraDB for MongoDB. Server on-premises atau instans Elastic Compute Service (ECS) berfungsi sebagai perantara dan tidak diperlukan lagi setelah migrasi selesai.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Instans ApsaraDB for MongoDB (replica set atau kluster sharded). Untuk informasi selengkapnya, lihat Buat instans replica set atau Buat instans kluster sharded.
Kapasitas penyimpanan pada instans ApsaraDB for MongoDB yang lebih besar daripada ukuran database MongoDB Atlas.
Password pengguna root yang telah ditetapkan pada instans ApsaraDB for MongoDB. Untuk informasi selengkapnya, lihat Atur ulang password akun untuk instans ApsaraDB for MongoDB.
MongoDB Database Tools (mongodump dan mongorestore) yang diinstal pada server perantara. Versi tool tersebut harus sesuai dengan versi database MongoDB Atlas. Untuk informasi selengkapnya, lihat Install MongoDB.
Ruang disk kosong yang cukup pada server perantara untuk menyimpan file dump (lebih besar dari ukuran database sumber).
Alamat IP publik server perantara yang telah ditambahkan ke daftar putih instans ApsaraDB for MongoDB. Untuk informasi selengkapnya, lihat Konfigurasikan daftar putih untuk instans ApsaraDB for MongoDB.
(Hanya untuk kluster sharded) Sharding telah dikonfigurasi pada instans tujuan untuk memaksimalkan performa shard. Untuk informasi selengkapnya, lihat Konfigurasikan sharding untuk memaksimalkan performa shard.
Izin yang diperlukan
| Database | Izin yang diperlukan |
|---|---|
| Database sumber MongoDB Atlas | Baca |
| Instans tujuan ApsaraDB for MongoDB | Baca dan tulis |
Catatan penggunaan
Ini adalah migrasi data penuh. Hentikan semua operasi write ke database sumber sebelum migrasi agar data tetap konsisten.
Jika database MongoDB Atlas sumber dan instans ApsaraDB for MongoDB tujuan menggunakan versi MongoDB atau mesin penyimpanan yang berbeda, pastikan terlebih dahulu kompatibilitasnya. Untuk informasi selengkapnya, lihat Versi MongoDB dan mesin penyimpanan.
Menjalankan
mongodumpakan menimpa file apa pun yang sudah ada di folderdump. Pindahkan file backup sebelumnya ke direktori lain sebelum menjalankan perintah tersebut.Jalankan mongodump dan mongorestore melalui command line server. Jangan menjalankannya di dalam shell MongoDB (mongosh).
Langkah 1: Ekspor data dari MongoDB Atlas
Login ke Konsol MongoDB Atlas.
Tambahkan alamat IP publik server perantara ke daftar akses IP database MongoDB Atlas.

Pada halaman Clusters, klik nama kluster target.

Klik tab Command Line Tools, lalu klik COPY di samping perintah mongodump untuk menyalin string koneksi.

Pada server perantara, tempel perintah yang disalin dan ganti placeholder berikut:
Ganti
<PASSWORD>dengan password pengguna database.Ganti
<DATABASE>dengan nama database yang akan diekspor.
Jalankan perintah tersebut dan tunggu hingga proses ekspor selesai.
Langkah 2: Impor data ke ApsaraDB for MongoDB
Login ke Konsol ApsaraDB for MongoDB dan dapatkan titik akhir publik instans tujuan: > Catatan: Ajukan permohonan titik akhir publik terlebih dahulu jika belum dialokasikan. Untuk informasi selengkapnya, lihat Ajukan permohonan titik akhir publik.
Instans replica set: Dapatkan titik akhir publik node primary. Untuk informasi selengkapnya, lihat Ikhtisar koneksi instans replica set.
Instans kluster sharded: Dapatkan titik akhir publik Mongos (Proxy Layanan). Untuk informasi selengkapnya, lihat Ikhtisar koneksi instans kluster sharded.
Jalankan perintah mongorestore berikut pada server perantara: > Catatan: ApsaraDB for MongoDB menggunakan Port 3717 secara default, yang berbeda dari Port MongoDB standar 27017.
Parameter Deskripsi <mongodb_host>Titik akhir publik node primary (replica set) atau Mongos (kluster sharded) instans ApsaraDB for MongoDB <username>Akun yang digunakan untuk login ke instans ApsaraDB for MongoDB <database>Nama database yang akan dipulihkan. Jika dump berisi beberapa database, jalankan perintah ini satu kali untuk setiap database. <database_backupfile_directory>Path ke file backup untuk database tersebut mongorestore --host <mongodb_host>:3717 --authenticationDatabase admin -u <username> -d <database> <database_backupfile_directory>Saat muncul
Enter password:, ketik password akun ApsaraDB for MongoDB dan tekan Enter.
Contoh
Pulihkan database mongodbtest:
mongorestore --host dds-bp**********-pub.mongodb.rds.aliyuncs.com:3717 --authenticationDatabase admin -u test -d mongodbtest /dump/mongodbtestPulihkan database test123:
mongorestore --host dds-bp**********-pub.mongodb.rds.aliyuncs.com:3717 --authenticationDatabase admin -u test -d test123 /dump/test123Verifikasi migrasi
Setelah mongorestore selesai, verifikasi bahwa data telah berhasil dimigrasikan:
Hubungkan ke instans ApsaraDB for MongoDB menggunakan mongosh atau Konsol DMS.
Jalankan perintah berikut untuk menampilkan semua database dan pastikan database yang dimigrasikan tersedia:
show dbsBeralih ke database yang dimigrasikan dan periksa jumlah dokumen:
use <database> db.stats()Bandingkan jumlah dokumen dengan database MongoDB Atlas sumber untuk memastikan seluruh data telah ditransfer.