mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Waiting for master update:连接前的初始状态。
Connecting to master:线程正试图连接到主线程
Checking master version:检查主版本,在连接到主时,发生非常短暂的一种状态。
Registering slave on master:在master上注册slave,在连接到主时,发生非常短暂的一种状态。
Requesting binlog dump:在连接到主时,发生非常短暂的一种状态。线程发送请求其二进制日志的内容的要求,包括二进制日志文件开始名称和位置。
注意,应该是从发送请求主二进制文件名称和位置,然后主发送相应内容。
Waiting to reconnect after a failed binlog dump request:如果二进制日志转储请求失败(由于断开),在休眠期间线程进入这个状态,然后周期性尝试重新连接。
重试之间的间隔可以指定(Connect_Retry)。
Reconnecting after a failed binlog dump request:线程正在尝试重新连接到master
Waiting for master to send event:线程已连接到主线程,等待二进制日志事件到达。如果master的binlog无任何更新,可能持续很长一段时间。
如果等待时间slave_net_timeout秒,超时发生。这时,该线程认为连接被中断,并尝试重新连接。(所以,slave_net_timeout不应该设置太大,以免主从断开连接很久才发现)
Queueing master event to the relay log:线程读取事件并复制到中继日志,SQL线程可以处理它。
Waiting to reconnect after a failed master event read:读取(由于断开)时发生错误。线程正处于休眠状态,等待(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值(即非0),和中继日志总大小足以超过这个值。
I/O线程等待直到SQL线程通过处理中继日志内容释放足够的空间,这样它就可以删除一些中继日志文件。
Waiting for slave mutex on exit:当线程停止时发生的很短暂的状态。
Master_Host: 192.168.10.155
Master_User: repl_user
Master_Port: 3306
Connect_Retry: 60
Connect_Retry:slave知道和master断开连接,并且开始重试的时间间隔,默认60s。Master_Retry_Count限制重试次数,默认3600×24=86400。
值得主意的是:slave是通过slave_net_timeout参数(默认3600s,建议60s)知道和master断开了连接。(slave_net_timeout相当于主从心跳,其实master_heartbeat_period才是心跳,没用过)
Master_Log_File: mysql-bin.000004
slave的IO线程当前已经读取的master的binlog日志文件
Read_Master_Log_Pos: 3944
slave的IO线程当前已经读取的master的binlog日志文件的位置点
Relay_Log_File: mysql-relay-bin.000262
slave的SQL线程当前已经读取和执行的slave的中继日志文件
Relay_Log_Pos: 283
slave的SQL线程当前已经读取和执行的slave的中继日志文件的位置点
Relay_Master_Log_File: mysql-bin.000004
包含了在中继日志文件中被读取的事件的主二进制日志文件的名称
Slave_IO_Running: Yes
5.6的版本,有三个值:NO:MYSQL_SLAVE_NOT_RUN,YES:MYSQL_SLAVE_RUN_CONNECT,Connecting:MYSQL_SLAVE_RUN_NOT_CONNECT
Slave_SQL_Running: Yes
slave的sql线程是否启动
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table: trans%.%
上面的设置都是复制筛选
Last_Errno: 0
Last_Error:
和Last_SQL_Errno and Last_SQL_Error是同义词,当sql线程执行错误时被设置。恢复时,清除。
Skip_Counter: 0
sql_slave_skip_counter参数的值,代表有多少个事件,slave可以跳过。
Exec_Master_Log_Pos: 3944
sql当前读取和执行的master日志文件位置点
Relay_Log_Space: 619
所有中继日志文件的大小
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
在start slave命令中指定的until_option值
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Master_SSL_Verify_Server_Cert: No
如果用ssl方式连接master,上面参数应该被设定
Seconds_Behind_Master: 0
这个值并不能真正反映主从延迟。它的真正含义是:当前slave的timestamp和正在执行的事件的timestamp(该事件在master发生的时间)的差值,
所以这个值只有当网络十分畅通,主从的时钟的一致的,才有效。
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
这个参数往往在多主或循环复制的时候设置,如Replicate_Ignore_Server_Ids: 2, 6, 9
IO线程不会读取这些服务器上的日志
Master_Server_Id: 1
master的server id值
Master_UUID: a586daad-9c86-11e5-8a34-005056a60000
master的uuid,有了这个值还需要设置Server_Id?
Master_Info_File: mysql.slave_master_info
master.info的位置
SQL_Delay: 0
slave必须滞后的秒数
SQL_Remaining_Delay: NULL
slave必须滞后的秒数的倒计时
Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
Waiting for the next event in relay log:从中继日志读取事件的初始化状态
Reading event from the relay log:sql线程已经从中继日志中读取事件,使事件可以执行
Making temporary file (append) before replaying LOAD DATA INFILE:线程正在执行LOAD DATA INFILE语句并添加数据到一个临时的包含从该数据中读取行的数据的文件。
Making temporary file (create) before replaying LOAD DATA INFILE:5.3版本之前才有
Slave has read all relay log; waiting for more updates:sql线程已经处理完了在中继日志中的所有事件,等待IO线程向中继日志中写事件。
Waiting for slave mutex on exit:发生在线程停止时的短暂状态
Waiting until MASTER_DELAY seconds after master executed event:sql线程已经读取了日志,但是等待复制延迟失效(change master ...MASTER_DELAY控制)
Killing slave:当发出了stop slave命令时
Waiting for an event from Coordinator:发生在多线程复制,slave worker threads在等待coordinator thread发来的事件
啥的
Master_Retry_Count: 86400
slave和master断开连接之后重试连接的次数,默认3600*24
Master_Bind:
Last_IO_Error_Timestamp:
最近一次IO错误发生的时间
Last_SQL_Error_Timestamp:
最近一次SQL错误发生的时间
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Waiting for master update:连接前的初始状态。
Connecting to master:线程正试图连接到主线程
Checking master version:检查主版本,在连接到主时,发生非常短暂的一种状态。
Registering slave on master:在master上注册slave,在连接到主时,发生非常短暂的一种状态。
Requesting binlog dump:在连接到主时,发生非常短暂的一种状态。线程发送请求其二进制日志的内容的要求,包括二进制日志文件开始名称和位置。
注意,应该是从发送请求主二进制文件名称和位置,然后主发送相应内容。
Waiting to reconnect after a failed binlog dump request:如果二进制日志转储请求失败(由于断开),在休眠期间线程进入这个状态,然后周期性尝试重新连接。
重试之间的间隔可以指定(Connect_Retry)。
Reconnecting after a failed binlog dump request:线程正在尝试重新连接到master
Waiting for master to send event:线程已连接到主线程,等待二进制日志事件到达。如果master的binlog无任何更新,可能持续很长一段时间。
如果等待时间slave_net_timeout秒,超时发生。这时,该线程认为连接被中断,并尝试重新连接。(所以,slave_net_timeout不应该设置太大,以免主从断开连接很久才发现)
Queueing master event to the relay log:线程读取事件并复制到中继日志,SQL线程可以处理它。
Waiting to reconnect after a failed master event read:读取(由于断开)时发生错误。线程正处于休眠状态,等待(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值(即非0),和中继日志总大小足以超过这个值。
I/O线程等待直到SQL线程通过处理中继日志内容释放足够的空间,这样它就可以删除一些中继日志文件。
Waiting for slave mutex on exit:当线程停止时发生的很短暂的状态。
Master_Host: 192.168.10.155
Master_User: repl_user
Master_Port: 3306
Connect_Retry: 60
Connect_Retry:slave知道和master断开连接,并且开始重试的时间间隔,默认60s。Master_Retry_Count限制重试次数,默认3600×24=86400。
值得主意的是:slave是通过slave_net_timeout参数(默认3600s,建议60s)知道和master断开了连接。(slave_net_timeout相当于主从心跳,其实master_heartbeat_period才是心跳,没用过)
Master_Log_File: mysql-bin.000004
slave的IO线程当前已经读取的master的binlog日志文件
Read_Master_Log_Pos: 3944
slave的IO线程当前已经读取的master的binlog日志文件的位置点
Relay_Log_File: mysql-relay-bin.000262
slave的SQL线程当前已经读取和执行的slave的中继日志文件
Relay_Log_Pos: 283
slave的SQL线程当前已经读取和执行的slave的中继日志文件的位置点
Relay_Master_Log_File: mysql-bin.000004
包含了在中继日志文件中被读取的事件的主二进制日志文件的名称
Slave_IO_Running: Yes
5.6的版本,有三个值:NO:MYSQL_SLAVE_NOT_RUN,YES:MYSQL_SLAVE_RUN_CONNECT,Connecting:MYSQL_SLAVE_RUN_NOT_CONNECT
Slave_SQL_Running: Yes
slave的sql线程是否启动
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table: trans%.%
上面的设置都是复制筛选
Last_Errno: 0
Last_Error:
和Last_SQL_Errno and Last_SQL_Error是同义词,当sql线程执行错误时被设置。恢复时,清除。
Skip_Counter: 0
sql_slave_skip_counter参数的值,代表有多少个事件,slave可以跳过。
Exec_Master_Log_Pos: 3944
sql当前读取和执行的master日志文件位置点
Relay_Log_Space: 619
所有中继日志文件的大小
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
在start slave命令中指定的until_option值
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Master_SSL_Verify_Server_Cert: No
如果用ssl方式连接master,上面参数应该被设定
Seconds_Behind_Master: 0
这个值并不能真正反映主从延迟。它的真正含义是:当前slave的timestamp和正在执行的事件的timestamp(该事件在master发生的时间)的差值,
所以这个值只有当网络十分畅通,主从的时钟的一致的,才有效。
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
这个参数往往在多主或循环复制的时候设置,如Replicate_Ignore_Server_Ids: 2, 6, 9
IO线程不会读取这些服务器上的日志
Master_Server_Id: 1
master的server id值
Master_UUID: a586daad-9c86-11e5-8a34-005056a60000
master的uuid,有了这个值还需要设置Server_Id?
Master_Info_File: mysql.slave_master_info
master.info的位置
SQL_Delay: 0
slave必须滞后的秒数
SQL_Remaining_Delay: NULL
slave必须滞后的秒数的倒计时
Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
Waiting for the next event in relay log:从中继日志读取事件的初始化状态
Reading event from the relay log:sql线程已经从中继日志中读取事件,使事件可以执行
Making temporary file (append) before replaying LOAD DATA INFILE:线程正在执行LOAD DATA INFILE语句并添加数据到一个临时的包含从该数据中读取行的数据的文件。
Making temporary file (create) before replaying LOAD DATA INFILE:5.3版本之前才有
Slave has read all relay log; waiting for more updates:sql线程已经处理完了在中继日志中的所有事件,等待IO线程向中继日志中写事件。
Waiting for slave mutex on exit:发生在线程停止时的短暂状态
Waiting until MASTER_DELAY seconds after master executed event:sql线程已经读取了日志,但是等待复制延迟失效(change master ...MASTER_DELAY控制)
Killing slave:当发出了stop slave命令时
Waiting for an event from Coordinator:发生在多线程复制,slave worker threads在等待coordinator thread发来的事件
啥的
Master_Retry_Count: 86400
slave和master断开连接之后重试连接的次数,默认3600*24
Master_Bind:
Last_IO_Error_Timestamp:
最近一次IO错误发生的时间
Last_SQL_Error_Timestamp:
最近一次SQL错误发生的时间
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0