Otter版本:4.2.13 mysql版本:5.6 最近otter 的一个通道老是出现数据延迟同步,异常老是抛异常
然后在源库里执行show processlist 发现没有对应的binlog dump线程
然后重启该通道 ,在执行show processlist 该命令 发现有binlog dump线程,但是过一会儿该线程就消失了 紧接着就抛上面异常,各位大神有没有遇到这个问题呀 但是每次重连上mysql就收到mysql那边发送一个RST标志的报,然后就抛上述异常,想问一下什么情况会导致mysql那边把我们这边的链接断掉
后来我们通过抓包分析 ,在Mysql发R包之前对某一个包重试发了三次但是没有收到我们这边的ack才发R包的,然后我们这边收到R包则会抛connection reset by peer异常,然后otter这边捕获到这个异常把上次的连接关闭了,然后在重连在发dump请求,然而同步一会儿又收到R包这样一个循环过程
原提问者GitHub用户 jwcjlu
根据您描述的情况,可能存在以下一些原因导致 binlog dump 线程老是关闭:
MySQL 数据库或者网络存在异常。如果 MySQL 数据库或者网络存在问题,可能会导致 binlog dump 线程无法正常工作。例如 MySQL 数据库连接超时、网络不稳定、网络噪声等。
Otter 配置或者网络存在异常。如果 Otter 的配置有误或者网络存在问题,可能会导致 binlog dump 线程无法正常工作。例如 Otter 的配置信息不正确、网络带宽不足、网络连接不稳定等。
其他未知原因。如果以上原因都排除了,可能存在其他未知的原因导致 binlog dump 线程无法正常工作。例如 MySQL 的版本不支持 binlog dump、Otter 的版本存在 bug 等。
为了解决这个问题,您可以尝试以下几个方法:
检查 MySQL 数据库的运行状态。您可以通过 show processlist 命令查看 MySQL 数据库的运行状态,以确定是否存在异常或者错误。如果 MySQL 数据库存在问题,可以尝试修复或者调整相关的配置信息。
检查 Otter 的配置信息。您可以检查 Otter 的配置信息,例如节点配置、通道配置、数据源配置等,以确定是否存在错误或者不一致。如果 Otter 的配置信息有误,可以尝试修复或者调整相关的配置信息。
检查网络状况。您可以检查 MySQL 数据库和 Otter 之间的网络连接和带宽状况,以确定是否存在网络问题。如果存在网络问题,可以尝试优化网络配置或者增加带宽容量等。
尝试升级或者降级相关的软件版本。如果以上方法都无法解决问题,可以尝试升级或者降级相关的软件版本,例如将 MySQL 数据库升级或者降级到其他版本,或者将 Otter 升级或者降级到其他版本等。
需要注意的是,binlog dump 线程关闭的问题可能涉及到多个方面的原因,因此需要综合考虑多个因素来进行排查和解决。如果您无法解决这个问题,可以咨询 Otter 的技术支持或者社区,以获得更好的帮助和支持。
试试使用4.2.16?怀疑是slaveId冲突,新版本对slaveId(server_uuid)做了自动生成. slaveId相同之后,mysql server会随机踢掉一个
原回答者GitHub用户 agapple
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。