欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MongoDB備份和還原的操作指南

 更新時(shí)間:2024年05月20日 10:01:12   作者:*老工具人了*  
MongoDB備份和還原是指將MongoDB數(shù)據(jù)庫(kù)中的數(shù)據(jù)和集合備份到另一個(gè)存儲(chǔ)位置,并在需要的時(shí)候恢復(fù)這些備份的過(guò)程,備份和還原MongoDB數(shù)據(jù)庫(kù)非常重要,本文給大家介紹了MongoDB備份和還原的操作指南,需要的朋友可以參考下

MongoDB 提供的命令行實(shí)用程序mongodumpmongorestore創(chuàng)建備份和恢復(fù)數(shù)據(jù)的過(guò)程。

一、數(shù)據(jù)備份

mongorestoremongodump實(shí)用程序可處理BSON數(shù)據(jù)轉(zhuǎn)儲(chǔ),對(duì)于創(chuàng)建小型部署的備份非常有用。要實(shí)現(xiàn)彈性且無(wú)中斷的備份,請(qǐng)將文件系統(tǒng)快照或區(qū)塊級(jí)磁盤快照與 MongoDB Atlas 的云備份結(jié)合使用。

性能影響

由于mongodump和mongorestore是通過(guò)與正在運(yùn)行的mongod實(shí)例交互來(lái)進(jìn)行操作的,因此它們可能會(huì)影響正在運(yùn)行的數(shù)據(jù)庫(kù)的性能。這些工具不僅會(huì)為正在運(yùn)行的數(shù)據(jù)庫(kù)實(shí)例創(chuàng)建流量,還會(huì)強(qiáng)制數(shù)據(jù)庫(kù)通過(guò)內(nèi)存讀取所有數(shù)據(jù)。當(dāng) MongoDB 讀取不常使用的數(shù)據(jù)時(shí),它可能會(huì)逐出更頻繁訪問(wèn)的數(shù)據(jù),從而導(dǎo)致數(shù)據(jù)庫(kù)常規(guī)工作負(fù)載的性能下降。

排除 local 數(shù)據(jù)庫(kù)

mongodump會(huì)在其輸出中排除local數(shù)據(jù)庫(kù)的內(nèi)容。

local數(shù)據(jù)庫(kù):用于存儲(chǔ)診斷信息、復(fù)制集配置和操作日志等數(shù)據(jù),其中的集合不會(huì)被復(fù)制

基本 mongodump 操作

mongodump`實(shí)用程序通過(guò)連接到正在運(yùn)行的`mongod來(lái)備份數(shù)據(jù)。

該工具可以為整個(gè)服務(wù)器、數(shù)據(jù)庫(kù)或集合創(chuàng)建備份,也可以結(jié)合查詢來(lái)僅備份一個(gè)集合的某一部分。

備份命令

export local_tar_dir="/opt/mongodb/upload_backup/"
export dump_name="backup-mongo{{ now_date |replace('-', '')}}"#顯示日期
mongodump \
-h {{ ansible_default_ipv4.address }} \
-u{{ mongo_user }} -p{{ mongo_password }} \
--authenticationDatabase admin \
-o {{ local_tar_dir }}/{{ dump_name }} \
--gzip
#-o: 指定輸出目錄

#打成壓縮包后進(jìn)行上傳到對(duì)象存儲(chǔ)

備份命令其他參數(shù)

要限制數(shù)據(jù)庫(kù)轉(zhuǎn)儲(chǔ)中包含的數(shù)據(jù)量,可以指定--db--collection作為mongodump的選項(xiàng)。例如:

mongodump --collection=myCollection --db=test

二、集群還原

適用于整個(gè)集群不可用或者誤刪除了部分?jǐn)?shù)據(jù)無(wú)法找回的情況

下載備份到指定目錄

#obs華為云
sudo /usr/local/bin/obsutil ls obs://jws2-live-cn-backup-01/db-db-mongodb/2024-03-28/05/ -s | grep "_master"
sudo /usr/local/bin/obsutil cp {{ first_tarball }} /tmp/

#gcp谷歌云
/bin/gsutil ls gs://{{cloud_backup_bucket}}/db-mongodb/{{now_date}}/{{now_hour}}/
/bin/gsutil  cp  {{ backup_file.stdout }}   /tmp/

基本 mongorestore 操作

mongorestore實(shí)用程序可恢復(fù)mongodump創(chuàng)建的二進(jìn)制備份。默認(rèn)情況下, mongorestore會(huì)在dump/目錄中查找數(shù)據(jù)庫(kù)備份。

mongorestore實(shí)用程序通過(guò)直接連接到正在運(yùn)行的mongod來(lái)恢復(fù)數(shù)據(jù)。

mongorestore 可以恢復(fù)整個(gè)數(shù)據(jù)庫(kù)備份或部分的備份。

可以考慮使用mongorestore --drop選項(xiàng)從數(shù)據(jù)庫(kù)中刪除每個(gè)集合,然后再?gòu)膫浞莼謴?fù)。

如果恢復(fù)到強(qiáng)制執(zhí)行訪問(wèn)控制的實(shí)例,請(qǐng)同時(shí)包括--username和--authenticationDatabase 。

還原前準(zhǔn)備

需要保證副本集正常運(yùn)行,所有游戲服都停止,不會(huì)有客戶端對(duì)mongodb進(jìn)行寫操作。

登錄mongodb副本集

#登錄mongodb副本集
mongo mongodb://root:mgwh7B8H9w5dc8j0@10.156.0.4:27017,10.156.0.5:27017,10.156.0.6:27017,/admin?replicaSet=jws2-test

查找主節(jié)點(diǎn)

rs.status()
#副本集配置成功后,172.16.60.205為主節(jié)點(diǎn)PRIMARY,172.16.60.206/207為副本節(jié)點(diǎn)SECONDARY。
health:1   1表明狀態(tài)是正常,0表明異常
state:1     值小的是primary節(jié)點(diǎn)、值大的是secondary節(jié)點(diǎn)
#"stateStr" : "PRIMARY",        (代表為主節(jié)點(diǎn))

還原命令

副本集還原和單節(jié)點(diǎn)命令相同,需要注意一點(diǎn),要保證-h參數(shù)指定的主機(jī)為副本集的主節(jié)點(diǎn)。

以下為對(duì)單個(gè)庫(kù)進(jìn)行還原,可以按照自己的需求進(jìn)行還原操作。

mongorestore \
-h 172.16.185.222:27011 \
-p mgwh7B8H9w5dc8j0 -u root1 \
--authenticationDatabase=admin  \
--db=SilenceDB  --drop --gzip \
/home/jms_ops_all/backup-mongo20240507/SilenceDB/

三、單節(jié)點(diǎn)還原

適用于單機(jī)點(diǎn)不可用,但是集群可用的情況。

向副本集添加成員

MongoDB 提供了兩個(gè)用于恢復(fù)副本集從節(jié)點(diǎn)成員的選項(xiàng):

  • 手動(dòng)將數(shù)據(jù)庫(kù)文件復(fù)制到每個(gè)數(shù)據(jù)目錄。
  • 允許初始同步以自動(dòng)分發(fā)數(shù)據(jù)。

具體步驟

停止數(shù)據(jù)異常的成員節(jié)點(diǎn)

sudo supervisorctl stop mongodb

清理數(shù)據(jù)異常的成員節(jié)點(diǎn)的數(shù)據(jù)目錄

mv ./mongodata ./mongodata_bak
mkdir ./mongodata

情況一:數(shù)據(jù)量不大,直接啟動(dòng)即可,初始同步會(huì)將數(shù)據(jù)從主成員復(fù)制到新成員。

sudo supervisorctl start mongodb

情況二:數(shù)據(jù)量大,

將主成員的數(shù)據(jù)目錄復(fù)制到新的輔助成員,再啟動(dòng)即可。

以上就是MongoDB備份和還原的操作指南的詳細(xì)內(nèi)容,更多關(guān)于MongoDB備份還原的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論