Gunakan mongodump dan mongorestore untuk melakukan migrasi offline penuh dari database MongoDB yang dikelola sendiri ke instans set replika ApsaraDB for MongoDB. Pendekatan ini mengekspor snapshot lengkap dari database sumber dan memulihkannya ke tujuan—tanpa sinkronisasi inkremental setelah snapshot diambil.
mongodumpdanmongorestorememigrasikan semua data yang ada pada saatmongodumpdijalankan. Penulisan ke database sumber setelah titik tersebut tidak dimigrasikan. Untuk migrasi dengan downtime minimal, gunakan Data Transmission Service (DTS). Untuk informasi lebih lanjut, lihat Migrasikan data dari database MongoDB yang dikelola sendiri yang menggunakan arsitektur set replika ke ApsaraDB for MongoDB menggunakan DTS.
Untuk ikhtisar semua opsi migrasi dan sinkronisasi, lihat Migrasi dan sinkronisasi data.
Cara kerja
Hentikan penulisan ke database sumber untuk memastikan snapshot yang konsisten.
Jalankan
mongodumpuntuk mengekspor semua database ke direktori dump lokal.Konfigurasikan akses jaringan antara server sumber dan instans set replika tujuan.
Jalankan
mongorestoreuntuk mengimpor file dump ke instans set replika.Verifikasi data yang telah dimigrasikan, lalu alihkan aplikasi Anda ke instans tujuan.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
mongodumpdanmongorestoreyang diinstal pada versi yang sama dengan database MongoDB yang dikelola sendiri. Untuk menginstal, lihat Install MongoDB di situs web MongoDB.Instans set replika tujuan dengan storage capacity greater than ruang penyimpanan yang digunakan oleh database MongoDB yang dikelola sendiri. Untuk meningkatkan kapasitas instans, lihat Ubah konfigurasi instans.
Jalankanmongodumpdanmongorestoredi server sumber atau server terpisah yang memiliki akses jaringan ke sumber—bukan di dalam mongo shell.
Catatan penggunaan
Hentikan semua penulisan ke database sumber sebelum menjalankan
mongodump. Setiap penulisan setelahmongodumpselesai tidak akan dimigrasikan.Jika Anda sebelumnya pernah menjalankan
mongodump, pindahkan file backup di direktori dump ke direktori lain dan pastikan direktori dump kosong sebelum menjalankannya kembali. Jika tidak, file backup historis akan ditimpa saat Anda melakukan backup database berikutnya.
Langkah 1: Backup database MongoDB yang dikelola sendiri
Jalankan mongodump di server tempat database MongoDB yang dikelola sendiri berada (atau di server terpisah yang memiliki akses jaringan ke sumber):
mongodump --host <mongodb_host> --port <port> -u <username> --authenticationDatabase <database>Ganti placeholder berikut:
| Placeholder | Deskripsi | Contoh |
|---|---|---|
<mongodb_host> | Alamat IP atau hostname server sumber | 127.0.0.1 |
<port> | Port layanan database MongoDB yang dikelola sendiri | 27017 (default) |
<username> | Akun database yang digunakan untuk menghubungkan ke sumber | test |
<database> | Database otentikasi untuk akun yang ditentukan | admin |
Contoh:
mongodump --host 127.0.0.1 --port 27017 -u test --authenticationDatabase adminSaat prompt Enter password: muncul, masukkan kata sandi database dan tekan Enter. Kata sandi disembunyikan saat Anda mengetik.
Setelah mongodump selesai, file backup disimpan ke direktori dump di direktori kerja Anda saat ini.
Langkah 2: Migrasikan data ke instans set replika
2.1 Dapatkan string koneksi node primary
Dapatkan string koneksi publik atau internal dari node primary pada instans set replika tujuan. Untuk informasi lebih lanjut, lihat Ikhtisar koneksi instans set replika.
Untuk menghubungkan melalui Internet, ajukan titik akhir publik terlebih dahulu. Untuk informasi lebih lanjut, lihat Ajukan titik akhir publik untuk instans ApsaraDB for MongoDB.
2.2 Tambahkan IP server sumber ke daftar putih
Tambahkan alamat IP server sumber ke daftar putih instans set replika tujuan:
Jaringan internal: Tambahkan alamat IP pribadi dari instans Elastic Compute Service (ECS) tempat database sumber berada.
Internet: Tambahkan alamat IP publik server sumber.
Untuk informasi lebih lanjut, lihat Konfigurasikan daftar putih untuk instans set replika.
2.3 Pulihkan file backup ke instans set replika
Jalankan mongorestore di server sumber untuk mengimpor semua file backup ke instans tujuan:
mongorestore --host <Primary_host> -u <username> --authenticationDatabase <database> <backup_directory>Ganti placeholder berikut:
| Placeholder | Deskripsi | Contoh |
|---|---|---|
<Primary_host> | String koneksi node primary, termasuk port | dds-bp19f409d7512****-pub.mongodb.rds.aliyuncs.com:3717 |
<username> | Akun database untuk instans tujuan (akun awal: root) | test |
<database> | Database otentikasi untuk akun yang ditentukan. Untuk akun root, gunakan admin | admin |
<backup_directory> | Path ke direktori dump yang dibuat di Langkah 1 | dump (default) |
Contoh:
mongorestore --host dds-bp19f409d7512****-pub.mongodb.rds.aliyuncs.com:3717 -u test --authenticationDatabase admin dumpSaat prompt Enter password: muncul, masukkan kata sandi database dan tekan Enter. Kata sandi disembunyikan saat Anda mengetik.
Verifikasi migrasi
Setelah mongorestore selesai, pastikan data Anda tersedia dan lengkap sebelum mengalihkan traffic.
Alihkan aplikasi Anda
Perbarui string koneksi aplikasi Anda agar mengarah ke instans set replika tujuan. Jadwalkan alih bencana selama jam sepi untuk meminimalkan dampak.