← ClaudeAtlas

diag-mysql-replicationlisted

MySQL 主从延迟全链诊断。检查 replication 状态、定位延迟根因(大事务/网络/从库负载/ binlog 格式/并行复制配置),输出结构化报告与修复建议。支持异步/半同步/GTID 复制。
seed-forge/harness-ai-kit · ★ 22 · API & Backend · score 74
Install: claude install-skill seed-forge/harness-ai-kit
# MySQL Replication Lag Full-Chain Diagnostics ## 用途 当用户报告主从延迟、读写分离数据不一致、或定期复制健康巡检时触发。 本技能是**自包含诊断 Runbook**。 ## 输入 - 主库和从库的 MySQL 连接信息 - 可选:已知延迟时间段或特定大事务 ## 输出 - 复制延迟分析报告(填充输出模板) - 延迟根因 + 修复建议 ## 前置条件 | 项 | 要求 | |----|------| | 权限 | `REPLICATION CLIENT`, `PROCESS` | | 版本 | MySQL 5.7+(8.0+ 优先用 performance_schema replication 表) | ## 诊断步骤 ### Step 1: 检查复制状态 ```sql -- 从库上执行 SHOW REPLICA STATUS\G -- MySQL 8.0.22+ SHOW SLAVE STATUS\G -- MySQL 5.7 / 8.0 < 8.0.22 -- 关键字段 -- Seconds_Behind_Source: 延迟秒数(NULL 表示复制中断) -- Replica_IO_Running / Replica_SQL_Running: 线程是否正常 -- Last_Error / Last_SQL_Error: 最近的错误信息 -- Retrieved_Gtid_Set / Executed_Gtid_Set: GTID 进度 ``` ### Step 2: 对比主从 GTID / Position ```sql -- 主库 SHOW MASTER STATUS; -- 或 MySQL 8.0+ SHOW BINARY LOG STATUS; -- 从库 SHOW REPLICA STATUS\G -- 比较 Master_Log_File/Read_Master_Log_Pos 与 Executed_Gtid_Set ``` ### Step 3: 检查从库 SQL 线程瓶颈 ```sql -- 从库当前执行的 SQL SHOW PROCESSLIST; -- 大事务检测(从库 relay log 中的大事务) SELECT * FROM performance_schema.events_transactions_summary_by_thread_by_event_name WHERE EVENT_NAME LIKE 'transaction%' ORDER BY COUNT_STAR DESC LIMIT 10; -- 从库并行复制状态(8.0+) SELECT * FROM performance_schema.replication_applier_status_by_worker; ``` ### Step 4: 检查复制配置 ```sql -- 复制模式 SHOW VARIABLES LIKE 'rpl_semi_sync%'; SHOW VARIABLES LIKE 'slave_parallel_type'; -- LOGICAL_CLOCK / WRITESET SHOW VARIABLES LIKE 'slave_parallel_workers'; SHOW VARIABLES LIKE 'binlog_format'; -- ROW / MI