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
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.
If 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 TO statement.
The thread is trying to reconnect to the master.
The 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
seconds, a timeout occurs. At that point, the thread
considers the connection to be broken and makes an attempt
The thread has read an event and is copying it to the relay log so that the SQL thread can process it.
An error occurred while reading (due to disconnection).
The thread is sleeping for the number of seconds set by
CHANGE MASTER TO
statement (default 60) before attempting to reconnect.
The thread is trying to reconnect to the master. When
connection is established again, the state becomes
Waiting for master to send event.
You are using a nonzero
value, 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.
A state that occurs briefly as the thread is stopping.