MySQL Status Slave_last_heartbeat 数据库状态作用意思及如何正确
本站中文解释
MySQL status变量是MySQL服务器的状态变量,用作检测MySQL服务器状态的标志位,有些变量则记录MySQL服务器的当前状态及数据信息,有助于实时监控服务器的运行。Slave_last_heartbeat变量是MySQL复制中Slave端的一个状态变量,用于记录Slave服务器上次收到Heartbeat消息的时间戳。 Slave_last_heartbeat 记录 Slave 服务器上次收到 heartbeat 消息的时间戳。Heartbeat 内部消息是每秒来一次,表示 slave 上海正常和 Master 服务器有通信,Slave_last_heartbeat 的变化代表了 Slave 端和 Master 主机的连接正常和存在。
Slave_last_heartbeat 记录的值可以通过下面类 SQL 查询语句来查看:
show slave status \G;
查看 MySQL 复制的状态时,我们可以在 Slave 上以监控脚本的形式进行获取,把 slave_last_heartbeat 的值保存起来,并与前一次抓取做对比,通过比较结果来判断 Slave 端连接 Master 的状态是否还在保持。如果 Slave_last_heartbeat 超出自己记录的时间,则说明 Slave 端在过去一段时间都获取到 Master 发出的心跳且 Master 服务器正常,此时无需做任何步骤;如果 Slave_last_heartbeat 值没有更新,则说明 Slave 端并没有收到 Master 的心跳,应该进一步检查服务器状态或其它原因了。
设置Slave_last_heartbeat变量无需显示处理,其值的改变将根据 MySQL 复制的记录状态而自动更新。由于 Slave 端的数据只能由 Master 端传送,所以 Slave 端获取到 Master 端心跳时则 Slave_last_heartbeat 的值就会被更新。