Mysql主从复制从库状态双Yes及seconds_behind_master为0的故障分析

在监控Mysql主从集群的时候,通常会使用以下三个参数

Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master: 0

实际上,这种方式是有问题的。下面转载的两篇文章有详细的描述。

简单来说:如果由于某种原因,主库的“线程”僵死,无法将binlog“推送”到从库,那么从库的IO状态将在“一段时间”内一直处于yes状态,而SQL和SBM也分别处于YES和0的状态,无法识别主从已经出现异常。

其中几个比较关键的地方:

  • 负责推送binlog的线程binlog dump意外终止,从库即无法接受到主库的binlog日志。
  • 从库需要等待一段时间slave_net_timeout之后,才会感知到这种错误的发生。

转载一:

MySQL同步状态双Yes的假象及seconds_behind_master的含义 

http://www.cnblogs.com/billyxp/p/3470376.html

Slave_heartbeat_period

Shows the replication heartbeat interval (in seconds) on a replication slave.

 Slave_received_heartbeats

This counter increments with each replication heartbeat received by a replication slave since the last time that the slave was restarted or reset, or a CHANGE MASTER TO statement was issued.



转载二:

请不要用Seconds_Behind_Master来衡量MySQL主备的延迟时间

http://www.woqutech.com/?p=1116



在mysql-5.6版本的环境中,按照作者的方法测试没有成功。是因为5.6的多线程复制引起的么?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL主从复制是一种常见的数据库备份和负载均衡方案。在主从复制中,主库将更新记录到二进制志中,从库通过读取主库的二进制日志来同步更新。在这个过程中,如果从库的Slave_IO_Running状态为No,则说明从库无法连接到主库或者无法读取主库的二进制日志。这可能是由于以下原因导致的: 1. 主库无法连接:从库无法连接到主库,可能是由于网络故障、主库宕机或者主库防火墙等原因导致的。可以通过ping主库IP地址或者telnet主库的3306端口来检查主库是否可达。 2. 主库二进制日志文件不存在:从库无法读取主库的二进制日志文件,可能是由于主库的二进制日志文件已经被删除或者被移动到其他位置导致的。可以通过在主库上执行show master status命令来查看当前的二进制日志文件名和位置。 3. 从库配置错误:从库的配置文件中可能存在错误,例如主库的IP地址、端口号、用户名、密码等信息配置错误,或者主从库的server_id没有设置或者设置重复等问题。可以通过检查从库的配置文件my.cnf来查看是否存在配置错误。 如果从库的Slave_IO_Running状态为No,可以尝试执行以下步骤来解决问题: 1. 检查主库和从库的网络连接是否正常,确保从库可以ping通主库的IP地址或者telnet主库的3306端口。 2. 在主库上执行show master status命令,查看当前的二进制日志文件名和位置,并在从库上执行change master to命令,将主库的二进制日志文件名和位置设置为与主库一致。 3. 检查从库的配置文件my.cnf,确保主库的IP地址、端口号、用户名、密码等信息配置正确,且server_id没有设置或者设置正确。 4. 在从库上执行start slave命令,重新启动从库的复制进程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值