dba+器材:MongoDB热备份器材,办理官方版备份缺陷
媒介今朝官方MongoDB社区版是不支持Hot Backup热备份的,我们只能通过mongodump等逻辑备份器材导出bson文件,再mongorestore导入,相同MySQL的mysqldump器材。 在备份副本集时,我们需指定--oplog选项记录备份间发生的增量数据,相同mysqldump --single-transaction --master-data=2(做同等性快照并记录当前的binlog点)。 对副本集的成员规复,需先切成单机版,mongorestore必需指定--oplogReplay选项,以规复到某一时候的快照,最后还需添补oplog(增量数据以哪个位置点开始断点续传),mongorestore -d local -c oplog.rs dump/oplog.bson,最后一步再切为副本集成员从头启动。 中小型数据库备份起来简朴快捷,假如过TB级的数据量,那将是疾苦的。 假如你的oplog配置过小,很有也许在备份规复这段时刻,oplog被包围重写,那么你将永久无法插手副本集集群里。 概述Percona MongoDB 3.2版本默认开始支持WiredTiger引擎的在线热备份,办理了官方版只能通过mongodump逻辑备份这一缺陷。 参考文献: https://www.percona.com/doc/percona-server-for-mongodb/LATEST/hot-backup.html#hot-backup 留意事项1、要在当前dbpath中对数据库举办热备份,请在admin数据库上以打点员身份运行createBackup呼吁,并指定备份目次。 2、可以替代一台从库为Percona MongoDB,做备份行使。(我这里实测是Percona MongoDB 3.4版本) 道理Percona MongoDB HotBackup热备份道理: 你可以想象成xtrabackup器材 备份:
规复:
运行这里我封装了一个PHP剧本,直接在SHELL里运行即可。 1、情形筹备:
2、php-mongo驱动安装:
把extension=mongo.so插手到/etc/php.ini最后一行。 3、建设mongodb超等用户权限(备份时行使)
4、修改pmongo_bak.php设置信息
5、前台运行:
6、写入体系crontab里
7、不支持长途备份,需将备份剧本陈设在从库里。假如你想把数据备份到长途,可以回收NFS等文件体系mount挂载上。 【编辑保举】
点赞 0 (编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |