The following list shows the most common states you see in the
State column for a slave server I/O thread.
This state also appears in the
Slave_IO_State column displayed by
SHOW SLAVE STATUS, so you can
get a good view of what is happening by using that statement.
The initial state before
Connecting to master.The thread is attempting to connect to the master.
A state that occurs very briefly, after the connection to the master is established.
A state that occurs very briefly after the connection to the master is established.
A state that occurs very briefly, after the connection to the master is established. The thread sends to the master a request for the contents of its binary logs, starting from the requested binary log file name and position.
Waiting to reconnect after a failed binlog dump requestIf the binary log dump request failed (due to disconnection), the thread goes into this state while it sleeps, then tries to reconnect periodically. The interval between retries can be specified using the
CHANGE MASTER TOstatement.Reconnecting after a failed binlog dump requestThe thread is trying to reconnect to the master.
Waiting for master to send eventThe thread has connected to the master and is waiting for binary log events to arrive. This can last for a long time if the master is idle. If the wait lasts for
slave_net_timeoutseconds, a timeout occurs. At that point, the thread considers the connection to be broken and makes an attempt to reconnect.Queueing master event to the relay logThe thread has read an event and is copying it to the relay log so that the SQL thread can process it.
Waiting to reconnect after a failed master event readAn error occurred while reading (due to disconnection). The thread is sleeping for the number of seconds set by the
CHANGE MASTER TOstatement (default 60) before attempting to reconnect.Reconnecting after a failed master event readThe thread is trying to reconnect to the master. When connection is established again, the state becomes
Waiting for master to send event.Waiting for the slave SQL thread to free enough relay log spaceYou are using a nonzero
relay_log_space_limitvalue, and the relay logs have grown large enough that their combined size exceeds this value. The I/O thread is waiting until the SQL thread frees enough space by processing relay log contents so that it can delete some relay log files.Waiting for slave mutex on exitA state that occurs briefly as the thread is stopping.