Mongodb/Elasticsearch数据备份/还原(随记)
  5qgUhteqoi3E 2023年11月02日 44 0

一,MongoDB v4.0.3 数据备份/还原

登录mongo库:

mongo --port 27017 -u "root" -p "xxxxxxxx" --authenticationDatabase "admin"

################备份################## 1,mongo全库备份:

mongodump -uroot -pxxxxxxxx --authenticationDatabase admin --oplog -o ./mongodb-backup-20230917
  • 备份所有库推荐使用添加 --oplog参数的命令,只能用于备份全部库时才可用,单库和单表不适用。
  • --oplog选项会记录备份间产生的增量数据,类似于mysql中的binglog(做一致性快照并记录当前的binglog点用于还原)

2,mongo备份单个库:

mongodump -uroot -pxxxxxxxx --authenticationDatabase admin   -d knowledge_test_db  -o ./knowledge-test-db-20230917bak
  • 使用 ”-d“ 参数指定你要备份的db_name

3,mongo备份单个表:

mongoexport  -uroot -pxxxxxxxx --authenticationDatabase admin  -d  knowledge_test_db   -c  knowledge_test_table   -o ./knowledge_test_table.json
  • 备份文件的名字可以自定义,默认导出了JSON格式的数据;-d :指名数据库的名字,-c :指名指明collection(表)的名字;

###############还原#################### 1,mongo全库还原:

mongorestore -uroot -pxxxxxxxx --authenticationDatabase admin  --oplogReplay  --drop  ./mongodb-backup-20230917
  • 同时,恢复时也要加上--oplogReplay参数;恢复得时候加上--drop,先删除当前数据,然后恢复备份的数据;就是说,恢复后,在备份后添加修改的数据都会被删除,注意场景使用。

2,mongo单库还原:

mongorestore -uroot -pxxxxxxxx --authenticationDatabase admin --nsInclude  'knowledge_test_db.*'  --drop ./knowledge-test-db-20230917bak
  • --nsInclude参数是在3.x版本之后最新的,推荐使用;将来将会废弃 --db和–collection参数,如果3.x之前版本可使用以下命令:
mongorestore -uroot -pxxxxxxxx --authenticationDatabase admin -d  knowledge_test_db  --drop ./knowledge-test-db-20230917bak

3,mongo单表还原:

mongoimport   -uroot -pxxxxxxxx --authenticationDatabase admin -d   knowledge_test_db  -c  knowledge_test_table   --drop  --file ./knowledge_test_table.json
  • --file:要导入的源文件路径;

二:elasticsearch7.16 数据备份/还原

tips: 1,k8s环境: 全量数据备份推荐直接备份pvc,后续进行替换还原,效率高(场景:可停服操作)/ 通过Elasticsearch中Snapshot api来实现。单个/数据量少的索引可直接推荐通过python脚本备份。

2,非k8s环境: 全量数据备份推荐使用备份elasticsearch data目录(场景:可停服操作) / 通过Elasticsearch中Snapshot api来实现。单个/少数索引推荐通过python脚本备份还原。也可通过第三方工具elasticdump。

以上相关操作具体实践及脚本,参考有道云笔记;

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
5qgUhteqoi3E