linux下mongodb數據庫備份與還原

MongoDb數據庫備份還原

數據庫遷移,可視化工具NoSQLBooster for MongoDB 付費版才具備數據導入功能.代價太高,索性採取命令行

數據備份

備份命令

mongodump -h dbhost -d dbname -o dbdirectory

-h:
MongDB所在服務器地址,例如:127.0.0.1,當然也可以指定端口號:127.0.0.1:27017

-d:
需要備份的數據庫實例,例如:test

-o:
備份的數據存放位置,例如:c:\data\dump,當然該目錄需要提前建立,在備份完成後,系統自動在dump目錄下建立一個test目錄,這個目錄裏面存放該數據庫實例的備份數據。

示例

mongodump -h  127.0.0.1:27017 -d 數據庫名稱 -o 備份文件目錄  -u username -p password 

數據庫如有認證,後面需加上 -u -p

數據還原

mongorestore -h <hostname><:port> -d dbname <path> --drop

–host <:port>, -h <:port>:
MongoDB所在服務器地址,默認爲: localhost:27017

–db , -d :
需要恢復的數據庫實例,例如:test,當然這個名稱也可以和備份時候的不一樣,比如test2

–drop:
恢復的時候,先刪除當前數據,然後恢復備份的數據。就是說,恢復後,備份後添加修改的數據都會被刪除,慎用哦!


mongorestore 最後的一個參數,設置備份數據所在位置,例如:c:\data\dump\test。

你不能同時指定 和 --dir 選項,–dir也可以設置備份目錄。

–dir:
指定備份的目錄

你不能同時指定 和 --dir 選項。

示例

mongorestore -h 127.0.0.1:27017 -d  數據庫名稱 --dir 備份文件所在目錄 --drop  -u username -p password

數據庫如有認證,後面需加上 -u -p

注意事項

數據庫添加管理員.

mongodb開啓授權登錄 參見添加鏈接描述

開始數據庫授權後,需要先設置admin數據庫的賬號密碼

//使用admin數據庫
use admin

//給admin數據庫添加管理員用戶名和密碼,用戶名和密碼請自行設置
db.createUser({user:"admin",pwd:"123456",roles:["root"]})

//驗證是否成功,返回1則代表成功
db.auth("admin", "123456")

//切換到要設置的數據庫,以test爲例
use test

//爲test創建用戶,用戶名和密碼請自行設置。
db.createUser({user: "test", pwd: "123456", roles: [{ role: "dbOwner", db: "test" }]})

此時如若操作test數據庫 備份/還原數據 後面需要加參數 -u test -p 123456

即可.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章