mysql主从复制的常见问题有哪些_故障排查方法-mysql教程

SHOW SLAVE STATUS\G 是 MySQL 客户端内命令,非 Shell 命令;需先登录 mysql -u root -p 后执行,Docker 环境须先进容器;Slave_IO_Running: No 表示 IO 线程异常,多因网络或权限问题;Slave_SQL_Running: No 表示 SQL 线程异常,需查 Last_SQL_Error;Seconds_Behind_Master 高常因大事务或未启用并行复制;跳过错误事件在 GTID 模式下不可用 SQL_SLAVE_SKIP_COUNTER,须用 GTID_NEXT 方式;主从复制不等于高可用,故障转移需额外工具保障。

为什么 SHOW SLAVE STATUS\G 报错或找不到命令?

这不是 MySQL 出了问题,而是你把它当成了 Shell 命令执行。SHOW SLAVE STATUS 是 MySQL 客户端内的 SQL 语句,不能在 Linux 终端直接敲——否则会报 bash: show: command not found。

  • 必须先登录 MySQL 客户端:mysql -u root -p,输密码后进入 mysql> 提示符
  • 再执行:SHOW SLAVE STATUS\G(注意末尾 \G 是格式化输出,不是必须但强烈推荐)
  • 如果用 Docker,别忘了先进容器:docker exec -it mysql_slave1 bash,再连 MySQL

Slave_IO_Running: No 和 Slave_SQL_Running: No 分别意味着什么?

从库靠两个线程工作:IO 线程负责拉 binlog,SQL 线程负责执行。一个挂了,复制就断;两个都挂,数据彻底不同步。

  • Slave_IO_Running: No → 主要查网络和权限:telnet master_ip 3306 看通不通;主库是否授权了从库 IP:GRANT REPLICATION SLAVE ON *.* TO 'repl'@'slave_ip' IDENTIFIED BY 'xxx';
  • Slave_SQL_Running: No → 看 Last_SQL_Error 字段,常见如 1062 Duplicate entry(主键冲突)、1050 Table already exists(表已存在)、1032 Can't find record(从库缺行)
  • 别急着 START SLAVE,先确认错误可跳过还是需修复;误跳可能丢数据

主从延迟高,Seconds_Behind_Master 一直涨怎么办?

这个值只是估算,不准但有参考价值。真正卡住的往往是 SQL 线程串行回放——主库并行写的 N 条事务,从库只能一条条执行。

夏夕资源网专注于CMS网站模板,主流语言整站网站源码下载,网站建设相关教程分享,好用的软件素材整合下载,提供一站式便捷自助服务。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"zy.lucklyus.top",如遇到无法解压的请联系管理员!
夏夕资源网-网站模板_免费源码_资源素材 » mysql主从复制的常见问题有哪些_故障排查方法-mysql教程
在线时间:12:00 - 22:00
关注微信公众号:微信公众号
站长邮箱:[email protected]
  • 运营天数: 1393+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4028539+
  • 本周更新: 0+
  • 最后更新: 2026-03-16

本站指数

×
  • 运营天数: 1393+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4028539+
  • 本周更新: 0+
  • 最后更新: 2026-03-16