数据库导入导出和备份恢复

匿名 (未验证) 提交于 2019-12-02 23:34:01

需要注意的地方:

1,不需要进入mongo命令行之后,就可以直接使用上面的2个导入导出命令。

2,导入导出的json文件,你不要随意换行,导出来的就是一行一条数据,你就原封不动的给修改完直接保存,不要换行。不要使用txt这么low的编辑器啦,换个高级点的编辑器吧。

更多内容请致官方地址:https://docs.mongodb.com/v2.2/reference/mongoexport/

导出:mongoexport

1、语法:

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

参数说明:

2、示例:

 sudo mongoexport -d mongotest -c users -o /home/python/Desktop/mongoDB/users.json --type json -f  "_id,user_id,user_name,age,status"

导入:mongoimport

1、语法:

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

参数说明:

2、示例:

 sudo mongoimport -d mongotest -c users --file /home/mongodump/articles.json --type json

备份:mongodump

1、语法:

 mongodump -h dbhost -d dbname -o dbdirectory

参数说明:

2、实例:

 sudo rm -rf /home/momgodump/ sudo mkdir -p /home/momgodump sudo mongodump -h 0.0.0.0:27017 -d itcast -o /home/mongodump/

恢复:mongorestore

1、语法:

 mongorestore -h dbhost -d dbname --dir dbdirectory

参数或名:

2、实例:

 mongorestore -h 0.0.0.0:27017 -d itcast_restore --dir /home/mongodump/itcast/

SHELL脚本文件

 #!/bin/bash  read -p "输入远程地址用户名: " host_user read -p "输入远程地址密码: " host_pwd read -p "是否执行数据库导入? [y/n] " input  case $input in     [yY]*)         mkdir /Users/caiqi/Desktop/dbs                  host="0.0.0.0"         port="27017"          local_db="test"         local_user="test"         local_pwd="test123"         #!/bin/bash          sudo mongoexport --host "$host" --port "$port" --username "$host_user" --password "$host_pwd" -d testdb -c test -o /Users/test/Desktop/dbs/documents.json --type json          sudo mongoimport --username "$local_user" --password "$local_pwd" -d "$local_db" -c test --file /Users/test/Desktop/dbs/documents.json --type json                  rm -rf /Users/test/Desktop/dbs         echo "导入完成"         ;;     [nN]*)         exit         ;;     *)         exit         ;; esac  

文章来源: https://blog.csdn.net/weixin_40308535/article/details/90403198
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!