开发者社区> 问答> 正文

mysql集群模式下发生主从切换,canal读取binlog失败。 能否支持切换后重置positio

当前版本canal1.1.5 mysql 8.0

问题原因在于mysql主从切换后,新主库的binlog会从mysql-bin-00001开始, 这将导致canal无法读取新主库的binlog,继而抛出 Could not find first log file name in binary log index file 当时 #172 有人提出过此问题,但在1.1.5版本仍然存在 且需要尽可能不丢失数据, 如果重置位点从当前最新位置开始,可能会丢失部分binlog数据

或者使用gtid是否能解决此问题?

原提问者GitHub用户nielizixiu

展开
收起
后端老大 2023-04-26 10:01:49 249 0
1 条回答
写回答
取消 提交回答
  • 解决方案: mysql主从开启binlog,启用gtid,canal使用gtid模式 mysql部分配置如下

    server-id=101 log-bin=mysql-bin relay_log=my-relay-bin log_slave_updates=true gtid_mode=on enforce_gtid_consistency=true

    测试后canal能在主备切换间正常读取数据,且主备出现同步冲突也不会导致canal解析异常!

    原回答者GitHub用户nielizixiu

    2023-04-26 18:25:38
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB-X 2.0 全局 Binlog 与备份恢复能 立即下载

相关镜像