问题描述:
使用canal监控数据库数据变化时,是根据数据库的binlog来监控的,由于本人一时手贱,删除了几乎所有的binlog日志,只保留了当前正在使用的binlog日志文件。然后问题就来了,我的canal不管数据库数据如何变化,它就是一点反应都没有,而且控制台并没有报错。
思路分析:
我仔细想了一下,在整个事件中,我好像就删除了日志文件,没有做其他的操作,而canal刚好是通过日志文件来判断数据库变化的。所以我推断应该是日志文件出了问题,经过百度,看了多个大佬的文章后,我找到了meta.data文件,此文件记录了canal读取的日志文件的信息,看到这个文件记录的信息后,我恍然大悟。
原来,该文件中记载此时读取的日志文件为binlog.118日志文件,而我已经把这个日志文件删除掉了,所以canal没办法监听到别的日志文件的信息。
解决方法:
删除meta.data,重启canal,问题解决