MySQL Error number: MY-011150; Symbol: ER_SEMISYNC_MOVE_BACK_WAIT_POS; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: MY-011150; Symbol: ER_SEMISYNC_MOVE_BACK_WAIT_POS; SQLSTATE: HY000
Message: %s: move back wait position (%s, %lu).
错误说明
MY-011150,标识ER_SEMISYNC_MOVE_BACK_WAIT_POS,SQLSTATE:HY000,指的是MySQL语句执行时遇到的一个错误,通常报告的是一个冲突的信息,表明MySQL再分布式事务操作中,在从Master复制信息到Slave实例时需要当前等待的同步位置超过一定数量。
常见案例
MY-011150错误的出现,尤其是在Master-Slave复制模式下,一般发生在客户端执行一个SQL语句时和Slave实例之间的更新位置超过一定数量。在复制模式中,必须在主实例和从实例之间同步数据,并更新同步位置,以保持数据同步正常进行,当用户在客户端重复执行一个SQL语句,而且这个语句也更新到从实例中时,将导致同步位置超出预期范围,从而跳出该错误。
解决方法
MY-011150错误会影响到数据同步,所以要想解决这个错误,首先必须检查当前实例的同步进程,确保没有崩溃,如果同步进程存在问题,请检查主从服务器的连接是否正常,如果同步进程正常,而且主从服务器之间的连接也正常,则可以试试下面的措施:
(1)重新启动Master和Slave实例,并重新初始化同步位置;
(2)优化SQL语句,尽量减少重复执行SQL更新操作;
(3)更新MySQL服务器版本或者升级MySQL数据库;
(4)使用GTID方式而不是 bin-log position方式实现Master/Slave同步,GTID跟踪GTID的当前状态,可以更新复制位置。