首页/数据/数据库速查/复制心跳与仲裁检测
主从复制与高可用53 条

复制心跳与仲裁检测

故障检测要独立于复制本身:pt-heartbeat 写心跳表量测真实延迟;仲裁侧用「多数派探测」避免单点误判(监控节点视角交叉验证)。

数据库速查数据更新于 2026-10-12

pt-heartbeat 双端用法

pt-heartbeat 双端用法
# 源端:每秒写心跳(后台常驻)
pt-heartbeat --host=10.0.0.10 --user=monitor --password='***' \
  --update --database=percona --interval=1 --daemonize
# 从库:量测延迟
pt-heartbeat --host=10.0.0.11 --user=monitor --password='***' \
  --monitor --database=percona --interval=1
为什么SHOW REPLICA STATUS 的延迟在无写入/大事务场景失真
仲裁切换判定至少两路探测一致,防单点网络抖动误切
告警heartbeat 断流即告警(源端写入停止时也要能区分)
心跳表建议独立小库(percona.heartbeat),避免与业务表混用。

易错点

  • 只有一台监控节点:它的网络抖动会引发误切换
  • 心跳监控账号权限过大:监控组件被攻破等于库失守,用 USAGE 级账号

数据来源与参考

  • Percona Toolkit: pt-heartbeat
  • MySQL 8.0 Reference Manual: High Availability

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌