1、导入导出出数据表(集合)( -d库 -c表 -o输出位置)
mongoexport -d 库名 -c 表名 -o ./test.json
mongoimport -d 数据库 -c 集合 ./test.json
例:(带认证需要输入账号密码和认证库-uroot -psystem@123 --authenticationDatabase admin)
mongoexport -uroot -psystem@123 --authenticationDatabase admin -d gag_sys -c sysUser -o sysUser.json
mongoimport -uroot -psystem@123 --authenticationDatabase admin -d gag_sys -c sysUser ./sysUser.json
2、备份还原数据库(某个库 -d)
mongodump -h 192.168.2.236:27017 -d gag_bill -o /home/
mongorestore -h 192.168.2.236:27017 -d gag_bill /home/gag_bill/
3、备份还原数据库(全部)---(去掉admin库,或者admin库账号密码如果一样可以)
mongodump -h 192.168.2.236:27017 -o ./bdbackup/
mongorestore ./bdbackup/
例:
mongorestore -uroot -psystem@123 --authenticationDatabase admin ./mongodb/ ---带认证的使用
4、不进入交互模式执行命令
#删除2个表
/data/mongodb/bin/mongo 127.0.0.1/gag_parse_config -uroot -pmongo123 --authenticationDatabase admin --eval "printjson(db.billType.drop())"
/data/mongodb/bin/mongo 127.0.0.1/gag_parse_config -uroot -pmongo123 --authenticationDatabase admin --eval "printjson(db.industryInformationAssBillType.drop())"
#导入两个表
/data/mongodb/bin/mongoimport -uroot -psystem@123 --authenticationDatabase admin -d gag_parse_config -c industryInformationAssBillType ./industryInformationAssBillType.json
/data/mongodb/bin/mongoimport -uroot -psystem@123 --authenticationDatabase admin -d gag_parse_config -c billType ./billType.json
mongoexport 和mongodump 比较:
mongoexport 导出文件格式为json 导出表推荐使用
mongodump 导出文件格式为bson
mongodump 比 mongoexport 快
mongodump导出的bson转换json格式,可以使用./bsondump test.bson > test.json;mongoexport默认导出是json格式
mongodump/mongorestore与mongoexport/mongoimport的区别
除了mongodump/mongorestore之外还有一对组合是mongoexport/mongoimport
mongoexport/mongoimport导入/导出的是JSON格式,而mongodump/mongorestore导入/导出的是BSON格式。
JSON可读性强但体积较大,BSON则是二进制文件,体积小但对人类几乎没有可读性。
在一些mongodb版本之间,BSON格式可能会随版本不同而有所不同,所以不同版本之间用mongodump/mongorestore可能不会成功,具体要看版本之间的兼容性。当无法使用BSON进行跨版本的数据迁移的时候,使用JSON格式即mongoexport/mongoimport是一个可选项。跨版本的mongodump/mongorestore个人并不推荐,实在要做请先检查文档看两个版本是否兼容(大部分时候是的)。JSON虽然具有较好的跨版本通用性,但其只保留了数据部分,不保留索引,账户等其他基础信息。使用时应该注意。
总之,这两套工具在实际使用中各有优势,应该根据应用场景选择使用(好像跟没说一样)。但严格地说,mongoexport/mongoimport的主要作用还是导入/导出数据时使用,并不是一个真正意义上的备份工具。所以这里也不展开介绍了。**
网友评论