开发笔记📐 发现👽 人物👮 趣闻💦
MongoDB数据库备份容灾学习:导入导出以及数据库备份

MongoDB数据库备份容灾学习:导入导出以及数据库备份
2019-02-09 16:11:27   点击:

 MongoDB 是一个基于分布式文件存储的数据库,非常适用于为web和api项目提供可扩展的高性能数据存储解决方案。

最近项目中使用MongoDB,这款介于关系数据库和非关系数据库之间的产品提供了优秀的灵活性和可扩展性,并且同样拥有良好的性能。

使用数据库最重要的技能之一就是备份——经常保持备份的好习惯,能够有效避免各种坑。学习完基本机制之后,必须学习备份导入导出功能,为手贱和各种误操作打预防针——降低风险。

导出工具:mongoexport

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

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

举例:

sudo 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
--f :导入的字段名
--headerline :如果导入的格式是csv,则可以使用第一行的标题作为导入的字段
--file :要导入的文件

举例:

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

 

MongoDB数据库备份

mongodump -h dbhost -d dbname -o dbdirectory

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

举例:

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

 

MongoDB数据库恢复

mongorestore -h dbhost -d dbname --dir dbdirectory

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

举例:

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

 

mongo 数据库 备份 容灾 导入 导出

上一篇:Node.js如何接收Get/Post请求?论Node收发请求的三种方法
下一篇:ubuntu/Debian慎用chown suoder权限修改方法记录