您好,登錄后才能下訂單哦!
這篇文章給大家介紹mongodb 中有哪些備份恢復命令,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
備份:
mongodump -uroot -ppassword --port=27017 --authenticationDatabase=admin -h hostname -d databasename -o /data/backup/mongodump/
-h:MongDB所在服務器地址,例如:127.0.0.1,當然也可以指定端口號:127.0.0.1:27017
-d:需要備份的數據庫實例,例如:database_name
-o:備份的數據存放位置
mongo整庫恢復
$ mongorestore -h host -d database_name –directoryperdb /mg_data/backup/mongodump/database_name
單collection備份
mongos> mongoexport -h dbhost -d dbname -c collectionname -f collectionKey -o dbdirectory
-h: MongoDB所在服務器地址
-d: 需要恢復的數據庫實例
-c: 需要恢復的集合
-f: 需要導出的字段(省略為所有字段)
-o: 表示導出的文件名
單collection恢復
mongos> mongoimport -d dbhost -c collectionname –type csv –headerline –file
-type: 指明要導入的文件格式
-headerline: 批明不導入第一行,因為第一行是列名
-file: 指明要導入的文件路徑
同時,需要給這個庫做個物理備份,一般是做個快照
lvcreate -L10G -s -n data_snapshot /dev/vg01/lv01
項目組搞完后,然后remove這個快照,就ok了
# lvremove /dev/vg01/data_snapshot
如果需要恢復,步驟如下
mkdir /snapshort
mount /dev/datavg01/vg01 /snapshort/
將mongodb 停掉,cp 快照的備份文件到mongo 對應數據目錄
起mongo,即可
##########mongodb 批量插入數據演練測試##########
for (var i=0;i<300000;i++){db.jack.insert({"i":10000000+i,"username":"user10000000"+i,"age":9999+i})}
db.runCommand({"shardcollection":"test.jack","key":{"_id":1}})
for (var i=0;i<200000;i++){db.nycnew.insert({"i":10000000+i,"username":"user10000000"+i,"age":9999+i})}
for (var i=0;i<10;i++){db.test1.insert({"name":"t+i","dep":"abcdef","num":i+8})} 對集合批量插入數據
db.test1.remove({"name":"t+10"},{jusOne: true})
db.test1.remove({"num":25},{jusOne: true}) --刪除num 為3的文檔
db.test1.find({"dep":"abcdefg"})
關于mongodb 中有哪些備份恢復命令就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。