MongoDB 数据导入和导出、备份和恢复
注:mongoexport和mongoimport针对库中的表,用于数据导入和导出,mongodump和mongorestore针对于库,用于备份和恢复。
一、mongodb导出
1、导出/导入数据时,连接mongodb服务器参数介绍:
-h host 主机
--port port 端口
-u username 用户名
-p passwd 密码
注:
如果没有用户,可以去掉-u和-p。
如果导出本机的数据库,可以去掉-h。
如果是默认端口,可以去掉--port。
以下是针对无用户,导入导出本地数据库,数据库使用默认端口,所以省略这些连接数据库的前提条件。
2、mongoexport 导出文件参数介绍:
-d 库名(如果想导出所有数据库,可以去掉-d)
-c 表名
-f field1,field2...列名
-q 查询条件
-o 导出的文件名
-- csv 导出csv格式(便于和传统数据库mysql交换数据)
二、导出数据实例
1、导出shop数据库的sdo表格的xh和name列中xh号小于或等于100的数据,并且导出到当前路径下,保存的文件名称为test.sdo.json
./mongoexport -d shop -c sdo -f xh,name -q '{xh:{$lte:100}}' -o ./test.sdo.json
2、导出csv格式,方便在mysql数据中导入。
./mongoexport -d shop -c sdo -f _id,xh,name -q '{xh:{$lte:100}}' --csv -o ./test.sdo.csv
注:以上的mongoexport导出,仅仅是导出数据,相关的索引信息没有被导出
三、mongodb导入
导入数据参数:
-d 待导入的数据库
-c 待导入的表(不存在会自己创建)
--type json(默认)或csv
--file 待导入的文件
四、导入数据实例
1、将当前路径下test.sdo.json文件数据导入到shop数据库的teach表中,格式为json
./mongoimport -d shop -c teach --type json --file ./test.sdo.json
2、将csv文件导入到shop数据库的reache表中,并且格式转换为json格式。–headerline表示忽略csv数据的表头字段。
./mongoimport -d shop -c reache --type csv --headerline --file ./test.sdo.csv
比如_id,xh,name。导入CSV数据,表头字段需要忽略。
[root@linux bin]# more test.sdo.csv
_id,xh,name
ObjectId(6331962397200000fa004f26),1,test1
ObjectId(633250c2b8660000e8002103),2,test2
...(其他省略)
五、mongodb导出二进制bson结构数据及索引信息
二进制备份,不仅可以备份数据,还可以备份索引,备份数据比较小,速度快.
导出需要的参数:
-d 库名
-c 表名
-f field1,field2...列名
六、导出bson数据结构实例(备份)
1、语法:mongodump -d test [-c 表名]
默认是导出到mongo下的dump目录
2、将shop数据库的sdo表数据导出到默认的路径。
./mongodump -d shop -c sdo
3、查看导出的数据,默认放在dump目录
[root@linux bin]# ls
dump ......(其他省略)
4、查看dump目录,导出的表格生成了两个文件分别为:bson结构数据和json索引数据
[root@linux bin]# cd dump/
[root@linux dump]# ls
shop
[root@linux dump]# cd shop/
[root@linux shop]# ls
sdo.bson sdo.metadata.json
[root@linux shop]#
5、 如果不声明表名, 导出所有的表
./mongodump -d shop
七、导入bson结构数据(恢复)
./mongorestore -d testd ./dump/shop
-d
:将数据导入或恢复数据的数据库名称,可以自己随意命名。
./dump/shop
:备份的数据库路径
注:有时需要加上--drop
参数,意思是,先删除原有数据库,然后恢复(--drop
慎用)
八、参考链接:
https://www.cnblogs.com/qingtianyu2015/p/5968400.html
https://segmentfault.com/a/1190000004263279
https://www.py.cn/db/mongodb/14116.html
https://www.cnblogs.com/gaopeng527/p/4508361.html
文章出处: https://www.cnblogs.com/jianmuzi/p/16777485.html
版权声明: 本博客为学习时整理的笔记,文章 [大部分为原创] 作品,转载请 [注明文章出处] ,您的支持是我创作的动力!
转载文章,请遵守《中华人民共和国著作权法》相关规定或遵守《署名CC BY-ND 4.0国际》禁止演绎规范,携带原创出处转载。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)