美文网首页
MongoDB-导入导出

MongoDB-导入导出

作者: 李哈哈_2c85 | 来源:发表于2021-10-23 16:01 被阅读0次

    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的主要作用还是导入/导出数据时使用,并不是一个真正意义上的备份工具。所以这里也不展开介绍了。**

    相关文章

      网友评论

          本文标题:MongoDB-导入导出

          本文链接:https://www.haomeiwen.com/subject/hnokaltx.html