mysql如何查看主从状态_mysql show slave status字段解析

0次阅读

SHOW SLAVE STATUS 报错或返回 NULL 说明用户缺 REPLICATION CLIENT 权限;Seconds_Behind_Master 为 NULL 表示 SQL 线程未运行,0 不代表实时同步,负数属正常抖动;需重点关注 Slave_IO_Running、Slave_SQL_Running、Seconds_Behind_Master、Relay_Log_Space 及 GTID 集合一致性。

mysql 如何查看主从状态_mysql show slave status 字段解析

show slave status 返回了 NULL 或报错 ERROR 1227

说明当前连接的用户没有 SUPERREPLICATION CLIENT 权限,MySQL 8.0+ 默认只允许高权限用户执行该命令。

  • SHOW GRANTS FOR CURRENT_USER; 确认权限,缺权限就让 DBA 执行:GRANT REPLICATION CLIENT ON *.* TO 'your_user'@'%';
  • 注意:MySQL 8.0 不再隐式授予 SUPER,即使有 ALL PRIVILEGES 也不等于能查主从状态
  • 如果连库时指定了 --binary-as-hex 或用了某些代理(如 ProxySQL),也可能触发异常返回,建议直连 MySQL 实例排查

Seconds_Behind_Master 显示 NULL、0 或负数

这个字段不是“实时延迟”,而是 IO 线程与 SQL 线程协作下的估算值,含义容易误读。

  • NULL:表示 SQL 线程没在运行(Slave_SQL_Running: No),或主库没开启 binlog(极少见)
  • 0:不等于完全同步,只代表当前 relay log 已全部执行完;若主库正大量写入,新事件还没拉过来,实际仍有延迟
  • 负数(如 -1):常见于 MySQL 5.7+ 启用了 slave_parallel_workers > 0 且使用逻辑时钟(slave_preserve_commit_order=ON),属于内部计时器抖动,只要 Seconds_Behind_Master 能快速回到 0 就不用干预

关键字段速查:哪些必须盯住,哪些可忽略

别被 30+ 字段吓住,生产环境只需盯紧 5 个:

  • Slave_IO_RunningSlave_SQL_Running:必须都是 Yes,任一为 No 表示复制中断
  • Seconds_Behind_Master:趋势比瞬时值重要,持续上升需查原因(网络?大事务?从库负载高?)
  • Relay_Log_Space:持续增长且不下降,大概率是 SQL 线程卡住(比如遇到 DDL 锁、唯一键冲突)
  • Retrieved_Gtid_SetExecuted_Gtid_Set:GTID 模式下二者应严格相等,不等说明有事务没执行(常见于跳过事务后未清理 gtid_executed

用 SELECT + performance_schema 查替代方案

SHOW SLAVE STATUS 因权限或锁表不可用时,可用系统表兜底,但要注意兼容性。

  • MySQL 8.0+ 可查:SELECT * FROM performance_schema.replication_connection_status;(对应 IO 线程)和 replication_applier_status_by_coordinator(对应 SQL 协调线程)
  • 这些表字段名不同,例如原 Seconds_Behind_Master 对应 APPLIED_DELAY,且默认不显示延迟数值,得配合 replication_applier_status_by_worker 计算
  • MySQL 5.7 不支持上述表,只能靠 SHOW PROCESSLIST 看是否有 System lockWaiting for master to send event 这类线索

主从状态里最麻烦的不是字段看不懂,而是所有指标都“看起来正常”时,业务却突然报查询结果不一致——这时候往往要翻 relay-log.info 文件或检查 gtid_purged 是否被意外重置。

星耀云
版权声明:本站原创文章,由 星耀云 2026-03-15发表,共计1570字。
转载说明:转载本网站任何内容,请按照转载方式正确书写本站原文地址。本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。
text=ZqhQzanResources