复制怎么查

主机名示例:mysql-a(源)、mysql-b(副本)。不要写真实公网地址。

副本健康

8.0:

SHOW REPLICA STATUS\G

旧版本是 SHOW SLAVE STATUS\G。看这几列就够起步:

  • IO 线程是否连上源
  • SQL 线程是否在应用事件
  • Seconds_Behind_Source
  • Last_Error / Last_IO_Error

源端:

SHOW MASTER STATUS;
-- 8.0.22+ 也可用
SHOW BINARY LOG STATUS;

GTID

开了 GTID 后,定位用事务集合,不靠文件名+位移硬对。跳过坏事件前必须知道跳过的是哪一条,乱跳会让副本和源数据分叉。

SELECT @@gtid_mode, @@enforce_gtid_consistency;

延迟常见原因

  • 副本磁盘或 CPU 弱于源
  • 大事务、大 DDL
  • 副本 sync_binlog / 刷盘过严叠加慢盘
  • 应用打到了副本写(应只读)

注意

复制不是备份。误删会传到副本。要回退,靠备份或延迟副本,而不是「有从库就安全」。

参考:Replication