设为首页 收藏本站
查看: 853|回复: 0

[经验分享] mongodb的导入/导出/备份/还原

[复制链接]

尚未签到

发表于 2018-10-26 12:39:52 | 显示全部楼层 |阅读模式
  mongodb的导入/导出/备份/还原
  1.mongoexport是mongo自带的数据导入工具,使用方法比较简单,
  以下是mongoexport常用的几个参数.
  [root@localhost admin]# mongoexport --help
  -h [ --host ]              #  主机ip
  --port                   # 端口
  -u [ --username ]          # 验证用户名
  -p [ --password ]          # 验证密码
  --authenticationDatabase   # 身份验证库
  -d [ --db ]               # 目标集合所在库
  -c [ --collection ]         # 集合
  -q [ --query ]            # 过滤集合
  -o [ --out ]              # 输出的目标的位置(路径)
  -f [ --fields ]        # 指定需要的导出的键名
  --csv                  # 文件格式为csv格式,也就是表格格式。
  实例一:导出集合中的所有数据。
  [root@localhost backup]# mongoexport --host=10.0.26.90  --port=38018  --authenticationDatabase=admin --username=root --password=test@2014 --db=test--collection=players  --out=/home/backup/players.txt
  connected to: 10.0.26.90:38018
  exported 311 records
  实例二:导出集合中的部分数据.
  [root@localhost backup]# mongoexport --host=10.0.26.90  --port=38018  --authenticationDatabase=admin --username=root  --password=test@2014 --db=test --query='{_id: ObjectId("54c9a536361ebf304044f104")}'  --collection=players --out=/home/backup/players.txt
  connected to: 10.0.26.90:38018
  exported 1 records
  Note:1.Mongodump不能多个集合一起导出,只能一个集合一个集合的导出。
  2.mongoimport 数据导入工具。
  以下是mongoimport 常用的几个参数.
  [root@localhost ~]# mongoimport  --help
  -h [ --host ]                 # 主机ip
  --port arg                   # 端口
  -u [ --username ]             # 验证用户名
  -p [ --password ]             # 验证密码
  --authenticationDatabase      # 用户验证数据库(即)
  -d [ --db ]                  # 需要备份的数据
  -c [ --collection ]            # 集合
  --drop                      #  在导入之前删除之前的对象。
  --stopOnError               #  遇到错误立刻停止导入
  实例三 :
  [root@localhost /]# mongoimport  --host=10.0.26.90 --port=27017 --authenticationDatabase=admin  --username=root --password=anyu@2014 --db=mytest --collection=players /home/data/players.txt  --drop
  connected to: 10.0.26.90
  Sun Jan 25 21:44:06.740 check 9 4711
  Sun Jan 25 21:44:06.889 imported 4711 objects
  3.mongodump 数据库备份。
  以下是mongoimport 常用的几个参数.
  [root@localhost backup]# mongodump  --help
  -h [ --host ]                # 主机IP
  --port                     # 端口
  -u [ --username ]           # 验证用户名
  -p [ --password ]            #  验证密码
  --authenticationDatabase     # 指定身份验证库(当需要备份的数据库和身份验证库不一样用到)
  -d [ --db ]                 #指定需要备份的备份db
  -o [ --out ]                #  输出位置(最好为完整路径)
  --oplog                   #备份oplog日志(这个很重要)
  note: 用mongodump 备份数据不能得到一个完整的数据备份,在使用mongodump备份的过程, 不会锁定整个库(也就说在备份过程中,允许数据的写入) ,这种备份方式备份出来的数据不能保证数据的一致性,,为了保证备份出来的数据是一致的,可以使用oplog,来备份,oplog日志(前提是要开启oplog日志)。--oplog 这个参数会强制mongodump备份自备份开始的所有的数据库操作.在备份完最后的一个oplog 的时刻,数据是一致性的。启用--oplog这个参数后,在备份目录中可以看到oplog.bson ,文件 。这个文件中包含备份开始以后的所有数据库操作。这个oplog.bson是一个二进制文件,无法查看。
  实例四:mongodump备份单个数据库。
  [root@localhost backup]# mongodump --host=10.0.26.90 --port=38018 --username=root  --password=test@2014 --authenticationDatabase=admin --db=test   --out=/home/backup/backup_gow
  connected to: 10.0.26.90:38018
  Mon Feb  2 00:45:34.854 DATABASE: gow    to     /home/bckup/backup_gow/gow
  Mon Feb  2 00:45:34.948         gow.system.indexes to /home/bckup/backup_gow/gow/system.indexes.bson
  Mon Feb  2 00:45:34.957                  31 objects
  Mon Feb  2 00:45:34.957         gow.gow to /home/bckup/backup_gow/gow/gow.bson
  [root@localhost backup_gow]# ll
  total 4
  drwxr-xr-x. 2 root root 4096 Feb  2 00:45 gow
  实例五:备份多个数据库(所有数据库,local除外)
  [root@localhost backup_gow]# mongodump --host=10.0.26.90 --port=38017 --username=root  --password=test@2014  --authenticationDatabase=admin --out=/home/bckup/backup_all
  connected to: 10.0.26.90:38017
  Mon Feb  2 00:49:48.979 all dbs
  Mon Feb  2 00:49:49.014 DATABASE: admin  to     /home/bckup/backup_all/admin
  Mon Feb  2 00:49:49.087         admin.system.indexes to /home/bckup/backup_all/admin/system.indexes.bson
  [root@localhost backup_all]# ll
  total 12
  drwxr-xr-x. 2 root root 4096 Feb  2 00:49 admin
  drwxr-xr-x. 2 root root 4096 Feb  2 00:49 gow
  drwxr-xr-x. 2 root root 4096 Feb  2 00:49 manage
  [root@localhost backup_all]# pwd
  /home/bckup/backup_all
  4.mongorestore数据还原
  root@localhost 12013207206620150130]# mongorestore  --help
  -h [ --host ]               #主机ip
  --port                     # 端口
  -u [ --username ]            # 验证用户名
  -p [ --password ]            # 验证密码
  --authenticationDatabase     #  身份验证db
  -d [ --db ]                  # 需要还原的db
  --drop                     #  在导入数据之前删除集合
  --oplogReplay              # 应用oplog中的日志(这个很重要)
  Note:应用oplog.bson文件中的操作。
  [root@localhost backup_all]# pwd
  /home/bckup/backup_all
  [root@localhost backup_all]# ll
  total 12
  drwxr-xr-x. 2 root root 4096 Feb  2 00:49 admin
  drwxr-xr-x. 2 root root 4096 Feb  2 00:49 gow
  drwxr-xr-x. 2 root root 4096 Feb  2 00:49 manage
  实例一:还原所有db
  [root@localhost ~]# mongorestore --host=10.0.26.90 --port=38019 --username=root
  --password=test@2014   /home/bckup/backup_all     --drop
  connected to: 10.0.26.90:38019
  Mon Feb  2 02:03:09.125 /home/bckup/backup_all/manage/items.bson
  Mon Feb  2 02:03:09.125         going into namespace [manage.items]
  Mon Feb  2 02:03:09.125          dropping
  [root@localhost backup_gow]# ll
  total 4
  drwxr-xr-x. 2 root root 4096 Feb  2 00:45 gow
  [root@localhost backup_gow]# pwd
  /home/bckup/backup_gow
  实例二:还原指定db
  [root@localhost ~]# mongorestore --host=10.0.26.90 --port=38019
  --username=root  ,--password=test@2014  /home/bckup/backup_all/gow  --db=gow    --drop
  connected to: 10.0.26.90:38019
  Mon Feb  2 02:06:21.012 /home/bckup/backup_all/gow/robots.bson
  Mon Feb  2 02:06:21.012         going into namespace [gow.robots]
  Mon Feb  2 02:06:21.012          dropping
  备份/还原参考链接:
  http://my.oschina.net/169/blog/158976


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-626782-1-1.html 上篇帖子: mongoDB基本操作(二)-(CRUD) 下篇帖子: linux中mongodb在后台运行进程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表