8.14.7 复制副本 SQL 线程状态

以下列 table 显示了您在副本服务器 SQL 线程的State列中可能看到的最常见状态:

  • Making temporary file (append) before replaying LOAD DATA INFILE

该线程正在执行LOAD DATA语句,并将数据追加到一个临时文件中,该临时文件包含副本将从中读取行的数据。

  • Making temporary file (create) before replaying LOAD DATA INFILE

该线程正在执行LOAD DATA语句,并正在创建一个临时文件,其中包含副本将读取行的数据。仅当原始LOAD DATA语句是由运行低于 MySQL 5.0.3 的 MySQL 版本的源记录的,才会遇到此状态。

  • Reading event from the relay log

该线程已从中继日志中读取一个事件,以便可以处理该事件。

  • Slave has read all relay log; waiting for more updates

该线程已处理了中继日志文件中的所有事件,现在正在 awaitI/O 线程将新事件写入中继日志。

  • Waiting for an event from Coordinator

使用多线程副本(slave_parallel_workers大于 1),副本工作线程之一正在 await 来自协调器线程的事件。

  • Waiting for slave mutex on exit

线程停止时发生的非常短暂的状态。

  • Waiting for Slave Workers to free pending events

当 Workers 处理的事件的总大小超过slave_pending_jobs_size_max系统变量的大小时,将发生此 await 操作。当大小降至此限制以下时,协调器将恢复调度。仅当slave_parallel_workers设置为大于 0 时,才会出现此状态。

  • Waiting for the next event in relay log

Reading event from the relay log之前的初始状态。

  • Waiting until MASTER_DELAY seconds after master executed event

SQL 线程已读取事件,但正在 await 副本延迟过去。此延迟是通过更改为主MASTER_DELAY选项设置的。

SQL 线程的Info列也可能显示语句的文本。这 table 明线程已经从中继日志中读取了一个事件,从中提取了该语句,并且可能正在执行该事件。