Kendi yönettiğiniz bir MongoDB veritabanını ApsaraDB for MongoDB çoğaltma kümesi örneğine tam çevrimdışı geçiş yapmak için mongodump ve mongorestore araçlarını kullanın. Bu yaklaşım, kaynak veritabanınızın eksiksiz bir anlık görüntüsünü dışa aktarır ve hedefe geri yükler; anlık görüntü alındıktan sonra artımlı eşitleme yapılmaz.
mongodumpvemongorestore,mongodumpçalıştırıldığı sırada mevcut olan tüm verileri geçirir. Bu noktadan sonra kaynak veritabanına yapılan yazma işlemleri geçirilmez. Kesinti süresini en aza indirerek geçiş yapmak için Veri Aktarım Hizmeti'ni (DTS) kullanın. Daha fazla bilgi için bkz. Çoğaltma kümesi mimarisine sahip kendi yönettiğiniz bir MongoDB veritabanından DTS kullanarak ApsaraDB for MongoDB'ye veri geçirme .
Tüm geçiş ve eşitleme seçeneklerine genel bir bakış için bkz. Veri geçişi ve eşitleme.
Nasıl çalışır
Tutarlı bir anlık görüntü sağlamak için kaynak veritabanına yönelik yazma işlemlerini durdurun.
Tüm veritabanlarını yerel bir döküm dizinine dışa aktarmak için
mongodumpkomutunu çalıştırın.Kaynak sunucu ile hedef çoğaltma kümesi örneği arasında ağ erişimini yapılandırın.
Döküm dosyalarını çoğaltma kümesi örneğine aktarmak için
mongorestorekomutunu çalıştırın.Geçirilen verileri doğrulayın, ardından uygulamanızı hedef örneğe yönlendirin.
Ön koşullar
Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:
Kendi yönettiğiniz MongoDB veritabanıyla aynı sürümde kurulu
mongodumpvemongorestorearaçları. Kurulum için MongoDB web sitesindeki MongoDB'yi Yükleme kılavuzuna bakın.storage capacity greater than depolama kapasitesine sahip bir hedef çoğaltma kümesi örneği. Örneği yükseltmek için bkz. Bir örneğin yapılandırmalarını değiştirme.
mongodumpvemongorestorekomutlarını mongo kabuğunda değil, kaynak sunucuda veya kaynağa ağ erişimi olan ayrı bir sunucuda çalıştırın.
Kullanım notları
mongodumpkomutunu çalıştırmadan önce kaynak veritabanına yönelik tüm yazma işlemlerini durdurun.mongodumptamamlandıktan sonra yapılan yazma işlemleri geçirilmez.Daha önce
mongodumpkomutunu çalıştırdıysanız, döküm dizinindeki yedekleme dosyalarını başka bir dizine taşıyın ve komutu tekrar çalıştırmadan önce döküm dizininin boş olduğundan emin olun. Dizin boş değilse, bir sonraki veritabanı yedeklemesinde geçmiş yedekleme dosyalarının üzerine yazılır.
Adım 1: Kendi yönettiğiniz MongoDB veritabanını yedekleyin
Kendi yönettiğiniz MongoDB veritabanının bulunduğu sunucuda (veya kaynağa ağ erişimi olan ayrı bir sunucuda) mongodump komutunu çalıştırın:
mongodump --host <mongodb_host> --port <port> -u <username> --authenticationDatabase <database>
Aşağıdaki yer tutucuları değiştirin:
| Yer Tutucu | Açıklama | Örnek |
|---|---|---|
<mongodb_host> |
Kaynak sunucunun IP adresi veya ana bilgisayar adı | 127.0.0.1 |
<port> |
Kendi yönettiğiniz MongoDB veritabanının hizmet bağlantı noktası | 27017 (varsayılan) |
<username> |
Kaynağa bağlanmak için kullanılan veritabanı hesabı | test |
<database> |
Belirtilen hesap için kimlik doğrulama veritabanı | admin |
Örnek:
mongodump --host 127.0.0.1 --port 27017 -u test --authenticationDatabase admin
Enter password: istemi göründüğünde veritabanı parolasını girin ve Enter tuşuna basın. Yazarken parola maskelenir.
mongodump işlemi tamamlandığında, yedekleme dosyaları geçerli çalışma dizininizdeki dump dizinine kaydedilir.
Adım 2: Verileri çoğaltma kümesi örneğine geçirin
2,1 Birincil düğüm bağlantı dizesini alın
Hedef çoğaltma kümesi örneğindeki birincil düğümün genel veya dahili bağlantı dizesini alın. Daha fazla bilgi için bkz. Çoğaltma kümesi örneği bağlantılarına genel bakış.
İnternet üzerinden bağlanmak için önce bir genel uç nokta isteyin. Daha fazla bilgi için bkz. ApsaraDB for MongoDB örneği için genel uç nokta isteme .
2,2 Kaynak sunucu IP'sini izin listesine ekleyin
Kaynak sunucunun IP adresini hedef çoğaltma kümesi örneğinin izin listesine ekleyin:
Dahili ağ: Kaynak veritabanının barındırıldığı Elastic Compute Service (ECS) örneğinin özel IP adresini ekleyin.
İnternet: Kaynak sunucunun genel IP adresini ekleyin.
Daha fazla bilgi için bkz. Çoğaltma kümesi örneği için izin listesi yapılandırma.
2,3 Yedekleme dosyalarını çoğaltma kümesi örneğine geri yükleyin
Tüm yedekleme dosyalarını hedef örneğe aktarmak için kaynak sunucuda mongorestore komutunu çalıştırın:
mongorestore --host <Primary_host> -u <username> --authenticationDatabase <database> <backup_directory>
Aşağıdaki yer tutucuları değiştirin:
| Yer Tutucu | Açıklama | Örnek |
|---|---|---|
<Primary_host> |
Bağlantı noktası dahil olmak üzere birincil düğümün bağlantı dizesi | dds-bp19f409d7512****-pub.mongodb.rds.aliyuncs.com:3717 |
<username> |
Hedef örnek için veritabanı hesabı (ilk hesap: root) |
test |
<database> |
Belirtilen hesap için kimlik doğrulama veritabanı. root hesabı için admin kullanın |
admin |
<backup_directory> |
1. Adımda oluşturulan döküm dizininin yolu | dump (varsayılan) |
Örnek:
mongorestore --host dds-bp19f409d7512****-pub.mongodb.rds.aliyuncs.com:3717 -u test --authenticationDatabase admin dump
Enter password: istemi göründüğünde veritabanı parolasını girin ve Enter tuşuna basın. Yazarken parola maskelenir.
Geçişi doğrulayın
mongorestore tamamlandıktan sonra, trafiği yönlendirmeden önce verilerinizin mevcut ve eksiksiz olduğunu onaylayın.
Uygulamanızı yönlendirin
Uygulamanızın bağlantı dizesini hedef çoğaltma kümesi örneğini gösterecek şekilde güncelleyin. Etkiyi en aza indirmek için geçişi yoğun olmayan saatlerde planlayın.