Skip to main content

replica_io_thread

以下列表显示了在副本服务器上的复制 I/O(接收器)线程的“状态”列中看到的最常见状态。 此状态还会出现在 SHOW REPLICA STATUS 显示的 Replica_IO_State 列中,因此可以通过使用该语句很好地了解正在发生的情况。

在 MySQL 8.0 中,对仪表名称进行了不兼容的更改。 使用这些仪表名称的监控工具可能会受到影响。 如果被不兼容的更改影响,请将 terminology_use_previous 系统变量设置为 BEFORE_8_0_26 以使 MySQL Server 使用上一个列表中指定的对象的旧版本名称。 这使得依赖旧名称的监控工具能够继续工作,直到可以更新为使用新名称为止。

将 terminology_use_previous 系统变量设置为会话范围以支持单个功能,或将全局范围设置为所有新会话的默认值。 当使用全局范围时,慢查询日志包含旧版本的名称。

  • Checking master version Checking source version 建立与源的连接后发生的非常短暂的状态。
  • Connecting to master Connecting to source 该线程正在尝试连接到源。
  • Queueing master event to the relay log Queueing source event to the relay log 该线程已读取事件并将其复制到中继日志,以便 SQL 线程可以处理它。
  • Reconnecting after a failed binlog dump request 该线程正在尝试重新连接到源。
  • Reconnecting after a failed master event read Reconnecting after a failed source event read 该线程正在尝试重新连接到源。 当连接再次建立时,状态变为 Waiting for master to send event.
  • Registering slave on master Registering replica on source 建立与源的连接后非常短暂地发生的状态。
  • Requesting binlog dump 建立与源的连接后发生的非常短暂的状态。 该线程向源发送对其二进制日志内容的请求,从请求的二进制日志文件名和位置开始。
  • Waiting for its turn to commit 如果启用了replica_preserve_commit_order,则副本线程正在等待旧工作线程提交时出现的状态。
  • Waiting for master to send event Waiting for source to send event 该线程已连接到源并正在等待二进制日志事件到达。 如果源空闲,这可以持续很长时间。 如果等待时间达到replica_net_timeout秒,则发生超时。 此时,该线程认为连接已断开并尝试重新连接。
  • Waiting for master update Waiting for source update Connecting to masterConnecting to source之前的初始状态。
  • Waiting for slave mutex on exit Waiting for replica mutex on exit 线程停止时短暂出现的状态。
  • Waiting for the slave SQL thread to free enough relay log space Waiting for the replica SQL thread to free enough relay log space 正在使用非零的relay_log_space_limit值,并且中继日志已经变得足够大,以至于它们的总大小超过了该值。 I/O(接收器)线程正在等待,直到 SQL(应用程序)线程通过处理中继日志内容释放足够的空间,以便它可以删除一些中继日志文件。
  • Waiting to reconnect after a failed binlog dump request 如果二进制日志转储请求失败(由于断开连接),线程在休眠时进入此状态,然后尝试定期重新连接。 可以使用 CHANGE REPLICATION SOURCE TO 指定重试之间的间隔。
  • Waiting to reconnect after a failed master event read Waiting to reconnect after a failed source event read 读取时发生错误(由于断开连接)。 在尝试重新连接之前,线程将休眠由 CHANGE REPLICATION SOURCE TO 语句设置的秒数。