從linux下的mongo恢復數據到windows下的mongo庫時出現的問題及解決方案

假設windows系統的電腦IP是:10.28.2.31

mongorestore -h 10.28.2.31 --authenticationDatabase rooot -d kelanTest /home/dili/databak-cr/cms_act/
mongodb2.2.2以後用這個驗證
否則會報下面的錯誤:
connected to: 10.28.2.31
assertion: 18 { ok: 0.0, errmsg: "auth failed", code: 18 }

[root@mongodb databak-cr]# mongorestore -h 10.28.2.31 -u rooot -p 123456 -d kelanTest /home/dili/databak-cr
在linux下連接到windows下的Mongodb時,不關閉防火牆會報下面這個錯:
couldn't connect to [10.28.2.31] couldn't connect to server 10.28.2.31:27017 (10.28.2.31), connection attempt failed

mongorestore -h 10.28.2.31 -u root -p 123456 -d crTest /home/dili/databak-cr
上面會報下面的錯誤:
connected to: 10.28.2.31
ERROR: root directory must be a dump of a single database
       when specifying a db name with --db
       use the --help option for more information
[root@mongodb databak-cr]# mongorestore -h 10.28.2.31 -u rooot -p 123456 -d kelanTest /home/dili/databak-cr/cms_act/
應該進入到備份文件的目錄下

下面是積累的普通常用恢復和備份:

[root@mongodb mongo]# mongodump -h 10.28.10.206 -d cms_act -o /home/dili/databak

mongorestore還原數據庫

1,常用命令格式

1
mongorestore -h IP --port 端口 -u 用戶名 -p 密碼 -d 數據庫 --drop 文件存在路徑
--drop的意思是,先刪除所有的記錄,然後恢復。


2
3
[root@localhost mongodb]# mongorestore -d cms_act /home/dili/databak/cms_act/  #cms_act這個數據庫的備份路徑
[root@localhost mongodb]# mongorestore -d act_new /home/dili/databak/cms_act/  #將cms_act還有act_new數據庫中



注意:

在linux下備份的mongo數據不能直接重系統目錄中拖出來,在這直接拖出來的過程中可能會損壞文件裏面的一些數據,導致在另外一臺服務器上恢復時可能會報錯。因爲備份後的文件是一些二進制文件(*.bson)和json文件(*.json),正確的處理方式應該是先壓縮然後再從服務器上拷貝。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章