五、mongo备份篇 mongoexport、mongoimport 以及mongodump、mongorestore
系列导航
五、mongo备份篇 mongoexport、mongoimport 以及mongodump、mongorestore
如下是总结mongo数据库在执行备份和恢复中一些常用的语句。
备份方面比较:
1、mongoexport 可以指定集合中的字段, mongodump最多到集合
2、mongoexport 可以带导出的过滤条件 -q, mongodump则不可以
3、mongoexport 可以导出json和csv格式, mongodump导出的是bson可读性不如前者
4、mongodump 的速度和压缩率都最好,每秒125M的数据,压缩率达28%
5、mongodump 更适合全库备份,mongoexport更适合单个集合备份
恢复方面比较:
1、mongoimport 速度较快,但不保证数据完整导入 。
2、mongorestore 速度较慢,比mongoimport慢2.5倍左右,但是根据mongodump导出的数据,可以完整导入数据
----------------mongoexport使用样例begin-------------------
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | cd /opt/mongodb/bin --数据导出 . /mongoexport -h 192.168.0.10 -d testdb -c testcollection -q '{_id:{$in:["1193860277","1193860919","1193860428","1193860453","1193860364"]}}' -o /opt/testcollection .json 参数解释: -h 192.168.0.10 :192.168.0.10是主机ip -d testdb :testdb数据库 -c testcollection :testcollection是数据库中的集合 -q 后面跟的是查询条件(可选) -o 后面跟的是备份的文件存放地址 例如: /opt/testcollection .json --数据导入 . /mongoimport -h 192.168.0.10:27017 -d testdb -c testcollection -- type json -- file /opt/testcollection .json 参数解释: -- type json :表示导入的文件是json格式的备份文件 -- file 后面跟导入的文件地址 例子:导出整个结合的样例 --导出person集合 . /mongoexport -d testdb -c person -- type json -o /opt/person .json --还原数据语句 cd /opt/mongodb/bin . /mongoimport -d testdb -c person -- type json -- file /opt/person .json 备份一个时间段的数据样例 备份statTime时间 大于等于2019-01-01 并且小于2020-01-01这个时间段的数据 . /mongoexport -h 192.168.0.10:27017 -d testdb -c person -q '{"statTime":{$gte:Date(' ` date -d 2019-01-01 +%s000` '),$lt:Date(' ` date -d 2020-01-01 +%s000` ')}}' -o /opt/person .json 密码校验 如果mongo数据库是带密码验证的则需要使用如下语句 . /mongoexport -h 192.168.0.10:27017 --authenticationDatabase admin -u dbuser -p dbpwd -d testdb -c person -o /opt/person .json 参数解释: --authenticationDatabase admin :指验证用户名和密码的库是admin -u dbuser : dbuser是数据库的用户名 -p dbpwd : dbpwd是数据库的密码 |
----------------mongoexport使用样例end-------------------
----------------mongodump使用样例begin--------------------
1 2 3 4 5 6 7 8 9 10 | --备份 /opt/mongodb/bin/mongodump -h 192.168.0.10:27017 --authenticationDatabase admin -u dbuser -p dbpwd -d testdb -c person -o /opt 参数解释: --authenticationDatabase admin :指验证用户名和密码的库是admin -u dbuser : dbuser是数据库的用户名 -p dbpwd : dbpwd是数据库的密码 注:不用指定备份的文件名 --恢复 /usr/local/mongodb/bin/mongorestore -h 192.168.0.10:27017 --authenticationDatabase admin -u dbuser -p dbpwd -d testdb -c person /opt/person .bson |
----------------mongodump使用样例end--------------------
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!