本站所有文章均为原创,如对您有帮助,恳请帮忙点击任何一处广告
  • 首页
  • MySQL
  • 【MySQL运维】Canal常见问题与解决方法

【MySQL运维】Canal常见问题与解决方法

发布:TangLu2020-4-29 9:57分类: MySQL 标签: canal

在部署和使用Canal中遇见了好几个问题,提供解决方法:

问题1:Canal日志提示command : 'show binlog events limit 1' has an error!

首先看提示会想到是MySQL的binlog问题,可是经过检查binlog是开启的,通过flush logs也能正常刷新日志,同时binlog的index文件里也都记录有新的日志文件信息。后来发现index文件第一行是空行,而空行被认为是文件结束,所以当Canal去获取binlog信息时就直接结束了导致读不到正确日志。只需要删掉这个空行然后flush logs即可恢复


问题2:某个instance的日志一直输出类似column size is not match for table:pluto_is_web.t_abnormal,6 vs 7这样的报错
这种问题是因为表结构被缓存在了Canal的本地时序数据库中,而后来数据结构发生了变化。6 vs 7是指当前表结构有6列数据,但是Canal中出现了7列,导致数据不一致无法解析。只需要清空报错的那个instance目录中的h2.mv.db文件即可

问题3:某个instance日志中一直输出could not find first log file name in binary log index file这样的报错
网上搜相关错误都是说MySQL binlog的问题。但实际上跟MySQL没有关系,找到canal/conf/$instance目录中的meta.dat文件,清理掉即可

温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!
et_highlighter51
版权所有:《Linux运维技术学习站点
文章标题:《【MySQL运维】Canal常见问题与解决方法
除非注明,文章均为 《Linux运维技术学习站点》 原创
转载请注明本文短网址:http://www.linuxe.cn/post-585.html  [生成短网址]

已有 0/295 人参与

发表评论:

欢迎分享Linux运维技术学习站点

欢迎使用手机扫描访问本站,还可以关注微信哦~