mysql主从之从库的同步进程信息show slave status参数详解

69 篇文章 3 订阅

在这里插入图片描述

Slave_IO_State

这里显示了当前slave I/O线程的状态(slave连接到master的状态)。状态信息和使用show processlist | grep “system user”(会显示两条信息,一条slave I/O线程的,一条是slave SQL线程的)显示的内容一样。

slave I/O线程的状态,有以下几种:

   1) waiting for master update

       这是connecting to master状态之前的状态

   2) connecting to master

      I/O线程正尝试连接到master

   3) checking master version

      在与master建立连接后,会出现该状态。该状态出现的时间非常短暂。

   4) registering slave on master

      在与master建立连接后,会出现该状态。该状态出现的时间非常短暂。  

   5) requesting binlog dump

       在与master建立连接后,会出现该状态。该状态出现的时间非常短暂。在这个状态下,I/O线程向master发送请求,请求binlog,位置从指定的binglog 名字和binglog的position位置开始。

   6) waiting to reconnect after a failed binlog dump request

       如果因为连接断开,导致binglog的请求失败,I/O线程会进入睡眠状态。然后定期尝试重连。尝试重连的时间间隔,可以使用命令"change master to master_connect_trt=X;"改变。

   7) reconnecting after a failed binglog dump request

       I/O进程正在尝试连接master

   8) waiting for master to send event

       说明,已经成功连接到master,正等待二进制日志时间的到达。如果master 空闲,这个状态会持续很长时间。如果等待的时间超过了slave_net_timeout(单位是秒)的值,会出现连接超时。在这种状态下,I/O线程会人为连接失败,并开始尝试重连

   9) queueing master event to the relay log

      此时,I/O线程已经读取了一个event,并复制到了relay log 中。这样SQL 线程可以执行此event

   10) waiting to reconnect after a failed master event read

      读取时出现的错误(因为连接断开)。在尝试重连之前,I/O线程进入sleep状态,sleep的时间是master_connect_try的值(默认是60秒)

   11) reconnecting after a failed master event read

      I/O线程正尝试重连master。如果连接建立,状态会变成"waiting for master to send event"

   12) waiting for the slave sql thread to free enough relay log space

     这是因为设置了relay_log_space_limit,并且relay log的大小已经整张到了最大值。I/O线程正在等待SQL线程通过删除一些relay log,来释放relay log的空间。

   13) waiting for slave mutex on exit

      I/O线程停止时会出现的状态,出现的时间非常短。

Master_Host

mysql主库的ip地址

Master_User

这个是master上面的一个用户。用来负责主从复制的用户,创建主从复制的时候建立的(具有replication slave权限)。

Master_Port

master服务器的端口 一般是3306;

Connect_Retry

连接中断后,重新尝试连接的时间间隔。默认值是60秒。

---------------------与master相关的日志的信息------------------------------

Master_Log_File

当前I/O线程正在读取的主服务器二进制日志文件的名称。

Read_Master_Log_Pos

当前I/O线程正在读取的二进制日志的位置。

---------------------与relay log相关的信息------------------------------

Relay_Log_File

当前slave SQL线程正在读取并执行的relay log的文件名。

Relay_Log_Pos

当前slave SQL线程正在读取并执行的relay log文件中的位置;(Relay_Log_File下的Relay_Log_Pos其实一一对应着Relay_Master_Log_File的Exec_Master_Log_Pos。)

Relay_Master_Log_File

当前slave SQL线程读取并执行的relay log的文件中多数近期事件,对应的主服务器二进制日志文件的名称。(说白点就是我SQL线程从relay日志中读取的正在执行的sql语句,对应主库的sql语句记录在主库的哪个binlog日志中)

---------------------slave I/O和SQL线程的状态(重要)------------------------------

Slave_IO_Running: Yes

I/O线程是否被启动并成功地连接到主服务器上。

Slave_SQL_Running: Yes

SQL线程是否被启动。

指定主从的db

#设定从库哪一个数据库需要复制主库的数据(多数据库使用逗号,隔开)
replicate-do-db
#设定需要忽略的复制数据库 (多数据库使用逗号,隔开)
replicate-ignore-db
#设定需要复制的表
replicate-do-table 
#设定需要忽略的复制表
replicate-ignore-table
#同replication-do-table功能一样,但是可以通配符.
#demo---->replicate-wild-do-table=db_name.% 只复制哪个库的哪个表
replicate-wild-do-table
#同replication-ignore-table功能一样,但是可以加通配符
#demo---->replicate-wild-ignore-table=mysql.% 忽略哪个库的哪个表
replicate-wild-ignore-table

这些参数都是为了用来指明哪些库或表在复制的时候不要同步到从库,但是这些参数用的时候要小心,因为 当跨库使用的时候 可能会出现问题。

一般情况下 ,限制的时候都用Replicate_Wild_Ignore_Table这个参数。

Last_Errno

slave的SQL线程读取日志参数的的错误数量和错误消息。错误数量为0并且消息为空字符串表示没有错误。

如果Last_Error值不是空值,它也会在从属服务器的错误日志中作为消息显示。

Skip_Counter

SQL_SLAVE_SKIP_COUNTER的值,用于设置跳过sql执行步数。

Exec_Master_Log_Pos

slave SQL线程当前执行的事件,对应在master相应的二进制日志中的position。(结合Relay_Master_Log_File理解,而且在Relay_Master_Log_File这个值等于Master_Log_File值的时候,Exec_Master_Log_Pos是不可能超过Read_Master_Log_Pos的。)

Relay_Log_Space

所有原有的中继日志结合起来的总大小。

Until_Condition

  1. 如果没有指定UNTIL子句,则没有值

  2. 如果从属服务器正在读取,直到达到主服务器的二进制日志的给定位置为止,则值为Master

  3. 如果从属服务器正在读取,直到达到其中继日志的给定位置为止,则值为Relay

Until_Log_File和Until_Log_Pos用于指示日志文件名和位置值。日志文件名和位置值定义了SQL线程在哪个点中止执行。

seconds_Behind_Master

这个值是时间戳的差值。是slave当前的时间戳和master记录该事件时的时间戳的差值。

SQL_Delay

一个非负整数,表示秒数,Slave滞后多少秒于master。

参考自大佬的博文
https://www.cnblogs.com/–smile/p/11811715.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值