更新时间:2025-01-24 GMT+08:00
分享

极速定位Binlog断点

当使用自动定位的方式从TaurusDB实例拉取Binlog时,如果未读取的Binlog文件比较多,自动定位正确Binlog位点的时间很长。例如:未读取的Binlog文件的个数是6万个,自动定位正确Binlog位点的时间是60分钟左右;特性开启后,自动定位的时间从60分钟降低到2秒左右。

约束与限制

内核版本为2.0.60.241200及以上版本支持使用该功能。

参数说明

rds_locate_right_binlog_by_binary_search

  • Scope: Global
  • Dynamic: Yes
  • Type: Boolean
  • Default Value: true
  • Description:当使用自动定位建立复制时, 指定发送线程是否通过二分查找法定位正确的二进制日志文件。

使用示例

创建一个TaurusDB实例(例如:IP: 192.168.187.120),在TaurusDB实例执行事务生成6万左右个Binlog文件。

创建一个容灾实例,从上述TaurusDB实例拉取未读取的Binlog文件,在容灾实例上执行命令如下:

CHANGE MASTER TO MASTER_HOST='192.168.187.120', MASTER_PORT=3306, MASTER_AUTO_POSITION = 1;

START SLAVE user='rdsRepl' password='......';

SHOW SLAVE STATUS

观察自动定位正确binlog位点的时间(从开始执行START SLAVE的时刻到Retrieved_Gtid_Set开始增加的时刻)。

Retrieved_Gtid_Set是SHOW SLAVE STATUS输出结果的一项。

相关文档