mongoplog 常用参数详解

举报
shm 发表于 2018/04/23 19:41:22 2018/04/23
【摘要】 前言:mongoplog工具的作用就是将mongodb的oplog数据读取出来,然后一条一条的应用到目标库上,可以说是一个库同步工具。业务应用场景就是数据实例的增量迁移。 常用参数:--from <host[:port]> 指定同步oplog的源库--host <hostname><:port>, -h <hostname><:port> 指定同步oplog的目标库 --user...

前言:

mongoplog工具的作用就是将mongodb的oplog数据读取出来,然后一条一条的应用到目标库上,可以说是一个库同步工具。业务应用场景就是数据实例的增量迁移。

 

常用参数:

--from <host[:port]>

    指定同步oplog的源库

--host <hostname><:port>, -h <hostname><:port>

    指定同步oplog的目标库

 

--username <username>, -u <username>

--password <password>, -p <password>

--authenticationDatabase <dbname>

    这三个参数放在一起,主要是指定登录源库和目标库的用户名,密码以及在哪个数据库上校验用户名和密码。--authenticationDatabase 一般是admin.这里有一个需要特别注意的地方就是这个用户名和密码以及验证数据库对源库和目标库必须一样。也就是说 如果源库和目标库的用户名,密码不一样,是无法使用mongooplog的,因此两个库的登录信息必须一样。

 

--oplogns <namespace>

    指定从源库哪个集合读取oplog,如果没有修改过oplog集合的名称,默认就是local.oplog.rs,这个参数也就无需指定。

 

--ssl

    指定连接是否通过ssl,如果目标库和源库没有开启ssl连接,就无需指定这个参数,这个参数也是源库和目标库公用的,源库或目标库或者都开启ssl,或者都关闭ssl.

 

--seconds <number>, -s <number>

    这个参数比较重要,意思是将源库距离现在往前推number 秒的这段时间的oplog同步到目标库(如果没有指定这个参数那这个参数的默认值就是86400秒,也就是24小时).具体见下图:

14.png

假设我们在T2时间点同步完全量的数据,然后到T3时间点这段时间在源库上的增量数据就需要使用mongooplog进行同步

mongooplog    --authenticationDatabase admin -u root -p ****  --from 192.168.56.160:8635 --host 192.168.56.231:8635   --seconds T3-T2

 

通过参数--seconds T3-T2就把T2到T3之间的增量数据通过了过来。

 

mongooplog是可以反复调用的,假设我们T4才真正把业务数据库从源库同步到目标库,那么我们可以再次调用mongooplog将T4-T3这段时间的增量数据同步到目标库

mongooplog  --authenticationDatabase admin -u backupuser -p ****  --from 192.168.56.160:8635 --host 192.168.56.231:8635   --seconds T4-T3


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。