6.3.2. 复制从I/O线程状态

下面列出了从服务器的 I/O线程的 State列的最常见的状态。该状态也出现在 Slave_IO_State列,由 SHOW SLAVE STATUS显示。这说明你可以只通过该语句仔细浏览所发生的事情。

·         Connecting to master

线程正试图连接主服务器。

·         Checking master version

建立同主服务器之间的连接后立即临时出现的状态。

·         Registering slave on master

建立同主服务器之间的连接后立即临时出现的状态。

·         Requesting binlog dump

建立同主服务器之间的连接后立即临时出现的状态。线程向主服务器发送一条请求,索取从请求的二进制日志文件名和位置开始的二进制日志的内容。

·         Waiting to reconnect after a failed binlog dump request

如果二进制日志转储请求失败(由于没有连接),线程进入睡眠状态,然后定期尝试重新连接。可以使用--master-connect-retry选项指定重试之间的间隔。

·         Reconnecting after a failed binlog dump request

线程正尝试重新连接主服务器。

·         Waiting for master to send event

线程已经连接上主服务器,正等待二进制日志事件到达。如果主服务器正空闲,会持续较长的时间。如果等待持续slave_read_timeout秒,则发生超时。此时,线程认为连接被中断并企图重新连接。

·         Queueing master event to the relay log

线程已经读取一个事件,正将它复制到中继日志供SQL线程来处理。

·         Waiting to reconnect after a failed master event read

读取时(由于没有连接)出现错误。线程企图重新连接前将睡眠master-connect-retry秒。

·         Reconnecting after a failed master event read

线程正尝试重新连接主服务器。当连接重新建立后,状态变为Waiting for master to send event

·         Waiting for the slave SQL thread to free enough relay log space

正使用一个非零relay_log_space_limit值,中继日志已经增长到其组合大小超过该值。I/O线程正等待直到SQL线程处理中继日志内容并删除部分中继日志文件来释放足够的空间。

·         Waiting for slave mutex on exit

线程停止时发生的一个很简单的状态。

关注编程学问公众号