mongodb的備份與恢復
阿新 • • 發佈:2020-08-03
近日,公司需要對線上mongdb資料進行遷移,此處對操作過程以及過程中遇到的問題做一記錄。(公司資料庫port=20000,與官方埠27017有別)
一、備份
官方:mongodump -h dbhost -d dbname -o dbdirectory
實操:./mongodump -h 192.168.2.144:20000 -d monitor -o /db_back
以上/db_back路徑需提前建好
問題1
如果開啟了驗證登入,是無法直接備份和恢復資料庫的,報如下錯誤,(Failed: error connecting to db server: server returned error on SASL authentication step: Authentication failed
解決辦法:
1、新增:-u <username> -p=<password>
2、新增:--authenticationDatabase admin
./mongodump -h 192.168.2.144:20000 -d monitor -u monitor -p=monitor@123 -o /db_back --authenticationDatabase monitor
備份已完成,所得備份檔案如下。
二、恢復
官方:mongorestore -h <hostname><:port> -d dbname <path> 實操:./mongorestore -h 192.168.2.144:20000 -d monitor -u monitor -p=monitor*** -o /db_back/monitor --authenticationDatabase monitor
問題2
版本問題,不支援 -o 選項,使用 --dre=<dbpath>代替
./mongorestore -h 192.168.2.144:20000 -d monitor -u monitor -p=password --dir=/db_back/monitor --authenticationDatabase monitor
恢復成功