canal启动的时候,怎么从指定位置开始复制?

因为要考虑canal启动后,从之前master的某个特定节点开始复制
目前msater是开启了gtid的

是在服务端配置、还是客户端配置?

是需要修改/example/instance.properties吗?

# enable gtid use true/false
# 开启gtid
canal.instance.gtidon=true

# position info
canal.instance.master.address=127.0.0.1:3306
canal.instance.master.journal.name=
canal.instance.master.position=
canal.instance.master.timestamp=
canal.instance.master.gtid=
阅读 3.2k
1 个回答

canal.instance.master.journal.name:这是 MySQL 二进制日志文件的名称。
canal.instance.master.position:这是你想要开始复制的二进制日志文件的位置。
canal.instance.master.gtid:这是你想要开始复制的 GTID。
MySQL 服务器启用了 GTID,设置 canal.instance.gtidon=true
DOMAIN_ID是用户定义的ID,
SERVER_ID是产生这个事务的服务器的ID。
SEQUENCE_NUMBER是事务的序列号
0是DOMAIN_ID,1是SERVER_ID,12345是SEQUENCE_NUMBER

# enable gtid use true/false
canal.instance.gtidon=true

# position info
canal.instance.master.address=127.0.0.1:3306
canal.instance.master.journal.name=mysql-bin.000001
canal.instance.master.position=12345
canal.instance.master.gtid=0-1-12345

这个上面例子是Canal 从 mysql-bin.000001 文件的 12345 位置开始复制,你可以参考一下

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题