本環境是基於 Centos 7.8 系統構建mongodb-enterprise-4.2.8學習環境
具體構建,請參考 mongodb-enterprise-4.2.8 環境構建html
MongoDB數據備份mongodb
- 邏輯備份mongodump
- 能夠用 mongodump 來作 MongoDB 的庫或表級別的備份,下面舉例說明 備份 my_mongodb 數據庫.
實戰案例shell
[root@localhost ~]# mongodump -d my_mongodb 2019-10-28T10:41:59.147+0800 writing my_mongodb.user to 2019-10-28T10:41:59.148+0800 done dumping my_mongodb.user (5 documents) 此時會在當前目錄下建立一個 dump 目錄,用於存放備份出來的文件 [root@localhost ~]# ll dump/my_mongodb/ 總用量 8 -rw-r--r-- 1 root root 280 10月 28 10:41 user.bson -rw-r--r-- 1 root root 87 10月 28 10:41 user.metadata.json 指定備份存放目錄 [root@localhost ~]# mongodump -d my_mongodb -o my_mongodb_dump 2019-10-28T10:43:35.826+0800 writing my_mongodb.user to 2019-10-28T10:43:35.827+0800 done dumping my_mongodb.user (5 documents) 其餘參數: -h: MongoDB 所在服務器地址,例如,127.0.0.1。 固然也能夠指定端口號:127.0.0.1:27017 --port:端口號。 -d: 須要備份的數據庫實例,例如, test 。 -c: 須要備份的集合 。 -o: 備份數據的存放位置 。 -u: 用戶名 。 -P: 密碼。 --gzip: 壓縮 。 --oplog: point in time 恢復用,只支持全庫備份 。 --authenticationDatabase: 認證庫 。 --dumpDbUsersAndRoles dump 用戶和角色 ,只有在單庫備份時才須要這麼作。 --archive=dbname.gz: 3.2 版本新增,不能和-o同時使用 。 歸檔備份爲 l 個文件,但不能和-o 同時使用。
全庫備份數據庫
mongodump -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase admin -o /home/mongod/backup/full
備份test庫json
mongodump -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase admin -d test -o /home/mongod/backup/
備份test庫下的vast集合服務器
mongodump -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase admin -d test -c vast -o /home/mongod/backup/
壓縮備份庫學習
mongodump -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase admin -d test -o /home/mongod/backup/ --gzip
壓縮備份單表spa
mongodump -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase admin -d test -c vast -o /home/mongod/backup/ --gzip
MongoDB數據恢復rest
- mongorestore與mongoimport參數相似
實戰案例code
全庫備份中恢復單庫(基於以前的全庫備份)
mongorestore -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase admin -d test --drop /home/mongod/backup/full/test/
恢復test庫
mongorestore -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase admin -d test /home/mongod/backup/test/
恢復test庫下的vast集合
mongorestore -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase admin -d test -c vast /home/mongod/backup/test/vast.bson
–drop參數實踐恢復
# 恢復單庫 mongorestore -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase admin -d test --drop /home/mongod/backup/test/ # 恢復單表 mongorestore -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase admin -d test -c vast --drop /home/mongod/backup/test/vast.bson