Kendi sunucunuzda barındırdığınız bir MongoDB veritabanından ApsaraDB for MongoDB parçalı küme örneğine tam çevrimdışı geçiş yapmak için mongodump ve mongorestore araçlarını kullanın. Bu yaklaşım, geçiş sırasında yazma işlemlerinin durdurulmasını gerektirir ve kısa süreli kesintilerin kabul edilebilir olduğu ortamlar için uygundur.
Sürekli yazma erişimi ve sıfır kesinti süresi gerektiren geçişler için bunun yerine Data Transmission Service (DTS) hizmetini kullanın. Bkz. DTS kullanarak parçalı küme mimarisine sahip kendi sunucunuzdaki MongoDB veritabanından ApsaraDB for MongoDB'ye veri geçişi .
Ön koşullar
Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:
Kendi sunucunuzdaki MongoDB veritabanlarınızla aynı sürümde mongodump ve mongorestore araçlarının yüklenmiş olması. Kurulum talimatları için bkz. MongoDB Yükleme.
Hedef parçalı küme örneğinin depolama kapasitesinin, kendi sunucunuzdaki veritabanlarının veri boyutundan daha büyük olması. Kapasite yetersizse devam etmeden önce örneği yükseltin.
mongodump ve mongorestore araçlarını, kendi sunucunuzdaki veritabanlarıyla aynı sunucuda veya ayrı bir sunucuda çalıştırabilirsiniz.
Geçiş kısıtlamaları
Bu, tam bir veri geçişidir. Veri tutarlılığını sağlamak için geçişten önce kendi sunucunuzdaki veritabanlarına yönelik tüm yazma işlemlerini durdurun.
dumpklasöründe önceki bir çalıştırmadan kalan dosyalar varsa, bunları öncelikle başka bir dizine taşıyın. mongodump,dumpklasöründeki mevcut dosyaların üzerine yazar.mongodump ve mongorestore işlemlerini mongo kabuğundan değil, bir sunucu kabuğundan çalıştırın.
Adım 1: Kendi sunucunuzdaki MongoDB veritabanlarını yedekleyin
Kendi sunucunuzdaki veritabanların bulunduğu sunucuda aşağıdaki komutu çalıştırın:
mongodump --host <mongodb_host> --port <port> -u <username> --authenticationDatabase <database>
| Parametre | Açıklama | Varsayılan |
|---|---|---|
<mongodb_host> |
Kendi sunucunuzdaki veritabanların bulunduğu sunucunun adresi | 127.0.0.1 |
<port> |
Kendi sunucunuzdaki veritabanların hizmet bağlantı noktası | 27017 |
<username> |
Veritabanına bağlanmak için kullanılan hesap | — |
<database> |
Hesabın kimlik doğrulama veritabanı | — |
Örnek:
mongodump --host 127.0.0.1 --port 27017 -u test --authenticationDatabase admin
Enter password: istemi görüntülendiğinde veritabanı şifresini girin ve Enter tuşuna basın. Yedekleme işlemi başlar ve veriler geçerli dizininizdeki dump klasörüne kaydedilir.
Adım 2: (İsteğe bağlı) Parçalamayı yapılandırın
Parçalama yapılandırılmadığında tüm veriler yalnızca birincil parçaya yazılır ve diğer parçalar kullanılmaz. Verileri parçalar arasında dağıtmak için parçalamayı geçişten önce veya sonra yapılandırın.
Verileri geçirmeden önce hedef parçalı küme örneğinde gerekli veritabanlarını ve koleksiyonları oluşturun. Parçalamayı geçişten önce veya sonra yapılandırabilirsiniz.
Yapılandırma adımları için bkz. Parça performansını en üst düzeye çıkarmak için parçalamayı yapılandırma.
Adım 3: Verileri hedef parçalı küme örneğine geri yükleyin
3,1 mongos bağlantı dizesini alın
Hedef parçalı küme örneğinizdeki bir mongos düğümünün genel veya dahili bağlantı dizesini alın. Bkz. Parçalı küme örneği bağlantılarına genel bakış.
Genel uç noktalar varsayılan olarak etkin değildir. Genel bir bağlantı kullanmak için önce genel uç nokta başvurusu yapın .
3,2 Sunucunuzun IP adresini izin listesine ekleyin
mongorestore aracını çalıştıran sunucunun IP adresini, hedef parçalı küme örneğinizin izin listesine ekleyin. Bkz. Örnek için izin listesi yapılandırma.
Dahili ağ: Kendi sunucunuzdaki veritabanların bulunduğu ECS örneğinin özel IP adresini ekleyin.
İnternet: Kendi sunucunuzdaki veritabanların bulunduğu sunucunun genel IP adresini ekleyin.
3,3 Yedeği hedef örneğe geri yükleyin
Tüm yedekleme dosyalarını hedef parçalı küme örneğine geri yüklemek için aşağıdaki komutu çalıştırın:
mongorestore --host <Mongos_host> -u <username> --authenticationDatabase <database> <backup_directory>
| Parametre | Açıklama | Varsayılan |
|---|---|---|
<Mongos_host> |
ApsaraDB for MongoDB örneğindeki herhangi bir mongos düğümünün bağlantı dizesi | — |
<username> |
Hedef örneğe bağlanmak için kullanılan hesap (ilk hesap root olur) |
— |
<database> |
Hesabın kimlik doğrulama veritabanı (root hesabı için admin kullanın) |
— |
<backup_directory> |
Yedekleme dosyalarını içeren dizin | dump |
Örnek (hesap: test, kimlik doğrulama veritabanı: admin):
mongorestore --host s-bp19f409d7512****-pub.mongodb.rds.aliyuncs.com:3717 -u test --authenticationDatabase admin dump
Enter password: istemi görüntülendiğinde şifreyi girin. Yazdığınız karakterler maskelenir.
Sonraki adımlar
Geri yükleme tamamlandıktan sonra uygulama trafiğinizi hedef parçalı küme örneğine yönlendirin. Kullanıcılarınız üzerindeki etkiyi en aza indirmek için geçişi yoğun olmayan saatlerde planlayın.
Mevcut geçiş ve senkronizasyon seçeneklerine genel bir bakış için bkz. Veri geçişi ve senkronizasyonu.