MongoDB之數據備份與恢復
一,需求
一段時間備份數據庫數據,以防意外導致數據丟失
二,備份與恢復
2.1,數據庫備份
1,常用命令格式
mongodump -h IP --port 端口 -u 用戶名 -p 密碼 -d 數據庫 -c 表 -o 文件存放路徑
參數說明:
-h 指明數據庫宿主機的IP
--port 指明數據庫的端口
-u 指明數據庫的用戶名
-p 指明數據庫的密碼
-d 指明數據庫的名字
-c 指明collection的名字
-o 指明到要導出的文件名
-q 指明導出數據的過濾條件
2. 導出所有數據庫
1 mongodump -o D:\mongodump
3. 導出指定數據庫
1 mongodump -h 127.0.0.1:27017 -d jackson_YingQi -o D:\mongodump
2.2,數據庫恢復
1. 常用命令格式
mongorestore -h IP --port 端口 -u 用戶名 -p 密碼 -d 數據庫 --drop 文件存在路徑
- --drop:
恢復的時候,先刪除當前數據,然后恢復備份的數據。就是說,恢復后,備份后添加修改的數據都會被刪除,慎用哦!
- <path>:
mongorestore 最后的一個參數,設置備份數據所在位置,例如:c:\data\dump\test。
你不能同時指定 <path> 和 --dir 選項,--dir也可以設置備份目錄。
- --dir:
指定備份的目錄
你不能同時指定 <path> 和 --dir 選項。
--drop:先刪除所有的記錄,然后恢復. 慎用
1 mongorestore -h 127.0.0.1:27017 -d jackson_YingQi --drop D:\mongodump\jackson_YingQi #刪除jackson_YingQi數據庫 在恢復備份的數據
2. 恢復所有數據庫到mongodb中
1 mongorestore D:\mongodump #所有庫的備份路徑
3. 恢復指定的數據庫
1 mongorestore -h 127.0.0.1:27017 -d jackson_YingQi --dir D:\mongodump\jackson_YingQi #jackson_YingQi 這個數據庫的備份路徑 2 3 mongorestore -h 127.0.0.1:27017 -d jackson_YingQi_new --dir D:\mongodump\jackson_YingQi #將jackson_YingQi 備份數據還原到jackson_YingQi_new 數據庫中