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

需要注意的地方:

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

参数说明:

 

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

 

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

参数说明:

 

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

 

2、示例:

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

 

备份:mongodump

1、语法:

mongodump -h dbhost -d dbname -o dbdirectory

参数说明:

 

  • -h: MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
  • -d: 需要备份的数据库实例,例如:test
  • -o: 备份的数据存放位置,例如:/home/mongodump/,当然该目录需要提前建立,这个目录里面存放该数据库实例的备份数据。

 

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

参数或名:

 

  • -h: MongoDB所在服务器地址
  • -d: 需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2
  • --dir: 备份数据所在位置,例如:/home/mongodump/itcast/
  • --drop: 恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用!

 

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

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值