Panduan ini menjelaskan cara memigrasikan database MongoDB yang dikelola sendiri ke ApsaraDB for MongoDB menggunakan mongodump dan mongorestore. Database yang dikelola sendiri dapat berjalan di perangkat on-premises atau instance Elastic Compute Service (ECS).
mongodump dan mongorestore hanya mendukung migrasi data penuh tanpa sinkronisasi inkremental. Untuk menghindari gangguan layanan, kami menyarankan Anda menggunakan Data Transmission Service (DTS) saat memigrasikan database MongoDB yang dikelola sendiri dengan arsitektur mandiri ke ApsaraDB for MongoDB.
Untuk ikhtisar semua opsi migrasi dan sinkronisasi, lihat Migrasi dan sinkronisasi data.
Prasyarat
Sebelum memulai, pastikan Anda telah:
menginstal mongodump dan mongorestore pada server yang berbeda dari database MongoDB yang dikelola sendiri, tetapi menggunakan versi yang sama dengan database sumber. Lihat Install MongoDB untuk instruksi instalasi. Anda juga dapat menjalankan perintah mongodump dan mongorestore di server tempat database MongoDB yang dikelola sendiri berada.
memastikan database sumber menjalankan MongoDB versi 3.0 atau lebih baru. Jika sumber dan tujuan menggunakan versi atau mesin penyimpanan yang berbeda, verifikasi kompatibilitas terlebih dahulu. Lihat Versi dan mesin penyimpanan MongoDB.
menyiapkan instans mandiri ApsaraDB for MongoDB tujuan dengan kapasitas penyimpanan yang cukup untuk seluruh data sumber. Untuk memperluas penyimpanan, lihat Ubah konfigurasi instans.
Pertimbangan
Downtime diperlukan
Ini adalah migrasi data penuh. Setiap penulisan ke database sumber setelah mongodump selesai tidak akan dimigrasikan. Untuk memastikan konsistensi data, kami menyarankan Anda menghentikan penulisan data ke database MongoDB yang dikelola sendiri sebelum memulai migrasi.
File backup yang sudah ada
Jika Anda sebelumnya telah menjalankan mongodump, output-nya akan ditulis ke folder dump di direktori saat ini. Pindahkan file yang sudah ada dari folder tersebut sebelum menjalankan mongodump lagi agar file backup lama tidak tertimpa.
Lokasi menjalankan perintah
Jalankan mongodump dan mongorestore langsung di server, bukan di dalam mongo shell.
Langkah 1: Backup database sumber
Jalankan perintah berikut di server tempat database MongoDB yang dikelola sendiri berada:
mongodump --host <mongodb-host> --port <port> -u <username> --authenticationDatabase <auth-db>Ganti placeholder dengan nilai Anda:
| Placeholder | Deskripsi | Contoh |
|---|---|---|
<mongodb-host> | Alamat server yang menjalankan database MongoDB yang dikelola sendiri | 127.0.0.1 |
<port> | Port layanan database sumber | 27017 (default) |
<username> | Akun yang digunakan untuk login ke database sumber | test |
<auth-db> | Database yang menyimpan kredensial untuk username yang ditentukan | admin |
Contoh:
mongodump --host 127.0.0.1 --port 27017 -u test --authenticationDatabase adminSaat muncul prompt Enter password, ketik kata sandi akun dan tekan Enter. Karakter yang diketik akan disembunyikan.
Setelah perintah selesai, backup disimpan ke folder dump di direktori tempat Anda menjalankan perintah tersebut.
Langkah 2: Pulihkan data ke instans tujuan
Dapatkan titik akhir instans tujuan
Login ke Konsol ApsaraDB for MongoDB.
Di pojok kiri atas, pilih wilayah tempat instans ditempatkan.
Di panel navigasi kiri, klik Replica Set Instances.
Klik ID instans tujuan.
Di panel navigasi kiri, klik Database Connections untuk melihat detail koneksi.

Pilih jenis titik akhir berdasarkan konfigurasi jaringan Anda:
| Jenis titik akhir | Kapan digunakan |
|---|---|
| Titik akhir VPC | Database sumber berjalan di instance ECS di wilayah dan Virtual Private Cloud (VPC) yang sama dengan instans ApsaraDB for MongoDB |
| Titik akhir publik | Database sumber berjalan di perangkat on-premises. Titik akhir publik tidak diaktifkan secara default — lihat Ajukan titik akhir publik untuk instans mandiri ApsaraDB for MongoDB |
Tambahkan alamat IP server sumber ke daftar putih
Tambahkan alamat IP server yang menjalankan database sumber ke daftar putih instans ApsaraDB for MongoDB. Lihat Konfigurasikan daftar putih untuk instans.
Koneksi VPC: tambahkan alamat IP internal instance ECS
Koneksi publik: tambahkan alamat IP publik server on-premises
Jalankan mongorestore
Di server tempat database sumber berada, jalankan:
mongorestore --host <primary-endpoint> -u <username> --authenticationDatabase <auth-db> <backup-dir>Ganti placeholder dengan nilai Anda:
| Placeholder | Deskripsi | Contoh |
|---|---|---|
<primary-endpoint> | Titik akhir node primary, termasuk port-nya | dds-bp19f409d7512****-pub.mongodb.rds.aliyuncs.com:3717 |
<username> | Akun database instans ApsaraDB for MongoDB. Akun awal adalah root | test |
<auth-db> | Database yang menyimpan kredensial untuk username yang ditentukan. Untuk root, gunakan admin | admin |
<backup-dir> | Path ke direktori backup yang dibuat oleh mongodump | dump (default) |
Contoh:
mongorestore --host dds-bp19f409d7512****-pub.mongodb.rds.aliyuncs.com:3717 -u test --authenticationDatabase admin dumpSaat muncul prompt Enter password, ketik kata sandi akun dan tekan Enter. Karakter yang diketik akan disembunyikan.
Jika Anda lupa kata sandi root, atur ulang terlebih dahulu sebelum melanjutkan. Lihat (Opsional) Atur ulang kata sandi.Setelah mongorestore selesai, jadwalkan jendela pemeliharaan selama jam sepi untuk mengalihkan trafik aplikasi Anda ke instans ApsaraDB for MongoDB.
Langkah berikutnya
Setelah migrasi, hubungkan ke instans dan atur akses pengguna: