mongodb 数据库备份和导入导出

mongodb 数据库迁移

使用 mongodump 命令备份数据库

mongodump -h 主机名:端口 -d 数据库名称 -o 备份路径

例子:
/usr/local/mongodb/bin/mongodump -d sns -o /data/sns-all-20170823

使用 mongorestore 命令还原数据库

mongorestore -h 主机名:端口 -d 数据库名称 --dir 数据库备份文件所在目录

例子:
/usr/local/mongodb/bin/mongorestore -d sns --dir /data/sns-all-20170823/sns


mongodb 数据导入导出

使用 mongoexport 导出

mongoexport -d dbname -c collectionname -o file --type json/csv -f field

参数说明:
-d :数据库名
-c :collection名
-o :输出的文件名,备份名称
--type : 输出的格式,默认为json
-f :输出的字段,如果-type为csv,则需要加上-f "字段名"

示例:

/usr/local/mongodb/bin/mongoexport -d mongotest -c users -o /home/python/Desktop/mongoDB/users.json --type json -f "id,user_id,user_name,age,status"

数据导入:mongoimport

mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field

参数说明:
-d :数据库名
-c :collection名
--type :导入的格式默认json,json或者csv
-f :导入的字段名
--headerline :如果导入的格式是csv,则可以使用第一行的标题作为导入的字段
--file :要导入的文件

示例:

/usr/local/mongodb/bin/mongoimport -d mongotest -c users --file /home/mongodump/articles.json --type json

例子:

常用命令格

mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径

如果没有用户,可以去掉-u和-p。
 如果导出本机的数据库,可以去掉-h。
 如果是默认端口,可以去掉--port。
 如果想导出所有数据库,可以去掉-d。

导出全部数据库

mongodump -h 127.0.0.1 -o /data/mongodb/

导出指定数据库

mongodump -h 127.0.0.1 -d test -o /data/mongodb

mogodb 过滤条件导出

./mongoexport -d sns_pre -c snsPosts -q '{tid:123123}'' -o sns.json

导入

mongoimport -d sns -c snsPosts sns.json

你可能感兴趣的:(mongodb 数据库备份和导入导出)