mysql数据库主从判断

        在上一家公司做项目的时候遇到的一个问题,如何判断mysql主从数据库是否同步?当时我还没有接触到mysql主从服务的使用,于是就在网上搜索各种资料,例如什么如何查看mysql主从状态信息之类的问题。到最后有了一个比较清晰的解决思路,就是从mysql的状态信息中读取,然后再通过判断获得mysql主从是否同步。

        首先获取到mysql的主从状态信息:

SHOW SLAVE STATUS
它将返回一系列的主从状态信息,想要了解所有的状态以及相关解释大家可以通过其他办法进行搜索。在这里博主只介绍如何有效得判断mysql主从是否同步的问题。当然,也有其他的运维人员通过mysql的数据库文件信息来监控,这种方式也是可行的,大家可以查找相关的资料。

我们要直接的得到主从是否同步,从某些层面上只需要获得下面三个参数的值就可以了。

Slave_IO_Running,Slave_SQL_Running,Seconds_Behind_Master

对于这三个参数的解释如下:

Slave_IO_Running    I/O线程是否被启动并成功地连接到主服务器上。(状态信息为Yes No)

Slave_SQL_Running    SQL线程是否被启动(状态信息为Yes No)

Seconds_Behind_Master    测量SQL线程和I/O线程的时间差(即延迟,单位为秒)

对于简单的监测SQL是否同步,只需要第一和第二个参数都为Yes的情况下,并且延迟小于一定数值的时候,我们就可以认定mysql主从是同步的,比如我们将延迟时间设为60秒

Slave_IO_Running.equals("Yes")&&Slave_SQL_Running.equals("Yes")&&time<60
当然,关于slave状态信息必须是要开启了主从服务的状态下才有相应的数值,否则返回错误或报空,大家可以根据自身的情况进行修改



  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值