MySQL Error number: MY-011738; Symbol: ER_GRP_RPL_SLAVE_APPLIER_THREAD_UNBLOCKED; SQLSTATE: HY000

文档解释

Error number: MY-011738; Symbol: ER_GRP_RPL_SLAVE_APPLIER_THREAD_UNBLOCKED; SQLSTATE: HY000

Message: The slave applier thread of channel ‘%s’ is unblocked as the member is declared ONLINE now.

错误说明:

ER_GRP_RPL_REPLICA_APPLIER_THREAD_UNBLOCKED是MySQL 5.7及以上版本的一个错误号,它表示复制起应用程序线程已被解锁,当前版本下Replica apply线程在收到服务间隔事件时,会暂停主线程,以减少复制流消耗的资源,如果在复制运行时出现此错误,则表示复制主线程已被解锁,服务器正在恢复正常的复制行为。

常见案例

在MySQL复制节点上运行时,如果主线程太忙而无法响应复制命令,会导致复制节点的Replica apply线程长时间无响应,最终导致ER_GRP_RPL_REPLICA_APPLIER_THREAD_UNBLOCKED错误。

解决方法:

1. 优化主服务器:需要查看主服务器上的进程占用,将资源消耗过高的进程优先处理掉;

2. 服务器参数调优:可以调整一下MySQL服务器的参数,例如innodb_lock_wait_timeout,innodb_flush_log_at_trx_commit等;

3. 检查网络状况:检查网络是否有问题,复制节点之间网络传输是否正常,如果有网络问题,需要及时解决;

4. 增加复制并发级别:可以通过增加复制并发级别来减少 Replica apply 线程的阻塞,以便应用更新命令更快的被应用。

5. 调整MySQL复制机制:如果在极端情况下严重影响硬盘IO,可以尝试修改MySQL数据库复制的机制,直接读取主节点binlog日志文件并写入表空间;

6. 重启服务器:在以上好几种解决方案都无法解决问题时,可以尝试重启服务器,使问题自动解决。

你可能感兴趣的