Mysql主从同步时Slave_SQL_Running状态为Yes , 但是Slave_IO_Running状态为Connecting以及NO的情况故障排除

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 当使用Navicat工具打开这三个数据库时 , 发现主库和从库的数据不同

1. 环境说明

主机IP : 192.168.154.146

从机1IP : 192.168.154.147

从机2IP : 192.168.154.148


2.故障记录

当使用Navicat工具打开这三个数据库时 , 发现主库和从库的数据不同

218995a5457abf58a881cc3e1886db0e_739fa46d8f7a41bb9ebbc0f81547dcff.png


3.排查过程-(Slave_IO_Running状态为Connecting)

3.1 网络是否互通

互ping三台机器 , 看机器之间相互能否ping通

c772acf6dd99bcc05aaebb0f3f8584f7_e20c27bd5b874706abdd10e3bad0858b.png

c54997bb2dee2cabad670857e1fdb908_59c8948175c24c339130a022a91c38b0.png

2e48de998e0b47a27982c6f979e110e9_61502c2b791643dab869bde3943ec169.png

这里发现三台机器都能够相互ping通 , 所以排除网络原因


3.2 检查my.cnf文件

192.168.154.146

9561000900a42db7fed3e95ad4c7d7dc_e4d5fd006d5647f8a55a8df1c618c5ac.png

192.168.154.147

1f123030e0fc4f234214e52b42cf1dee_7264effc66ff4adbb93ab0b6498265e0.png

192.168.154.148

370a5253aa0de45d388202c8fdf9bc4a_b8b1c470b6b742ce98de61550e5c44ae.png

可以看到配置文件也是没有错误的 , 所以排除这种可能性


3.3 防火墙是否关闭

aaee37cb4048cbf11619b6064eb42342_12bc5d3b03a247fbac8bdd4e3f825491.png

2ef9704bf8ad4d8b89fc1e0ee2fc3abc_19681a8cea5c4149a98ea0db338ef0d6.png

135c02fba92f0e0e2e91e6dae69c516b_bdb713823ca84786a34935bec7f8776b.png

排除防火墙未关闭的原因


3.4 主服务器mysql权限

ed1b7101ae8b04829e3f2e02f39d3d3a_cbb3177ae45a4c2c8642dee15e74a971.png

主服务器已设置% , 所以排除这种情况


3.5 file文件名、pos偏移量不对

14147a425e48878bbcdb0a5456c14173_10d7742d78564aa7ad8c3ebf3f27fbb2.png

8ce1994648bd95b0e5f5613d5002c2c9_cf1d7a48fc2a43e7842b263e75aa22ff.png

974677f8677e2cb48029b3bbd61d621a_2f3d110e9ebf4715984bcfe22544bb29.png


可以看到 , 问题就出现在了这里 , 之前可能重启过一次服务 , 所以pos也随之变换了


3.5.1 解决方法

(1).关闭slave线程

stop slave;

(2).修改pos

change master to master_host='192.168.154.146', 
master_user='root', 
master_password='root', 
master_log_file='master-bin.000064', 
master_log_pos=3032;


(3).启动slave线程

start slave;

这个时候查询slave状态 , 神奇的发现不是Connecting , 变为No了 , 这个时候我们开启下一次的排查


4. 排查过程-(Slave_IO_Running状态为No)

可看到这儿有错误log

9d0a828a825ae275a48a6bd4e218cc2d_fcc9ba1945994a129675bc26d80f99ac.png


4.1 查看server_uuid是否相同

可以进入目录 : /var/lib/mysql 查看 auto.cnf , 也可以使用如下命令


show variables like '%server_uuid%';

查询之后发现 所有UUID都相同


4.2 删除所有的auto.cnf

rm -rf /var/lib/mysql/auto.cnf

4.3 重启服务

49c161f60ff5ac2ef14d2de426609786_5a951f41f138456da79cc61502df35c9.png

这个时候查看从库状态 , 发现都为YES , 自此问题解决

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
数据库
同步IO模型是一种常见的编程模型
【10月更文挑战第5天】同步IO模型是一种常见的编程模型
18 2
|
5月前
|
SQL 关系型数据库 MySQL
使用mysql数据库的binlog应对故障
【6月更文挑战第1天】本文介绍`mysql的 binlog`工具用于解析MySQL的二进制日志,转换为可执行的SQL语句,主要用于数据库主从复制和增量恢复。定期备份和binlog推送能实现故障时的数据恢复。
227 9
使用mysql数据库的binlog应对故障
|
6月前
|
SQL 关系型数据库 MySQL
mysql 故障排除与优化
mysql 故障排除与优化
|
6月前
|
SQL 运维 关系型数据库
记一次 MySQL 主从同步异常的排查记录,百转千回!
这篇文章主要讲述了在 MySQL 主从同步过程中遇到的一个问题,即从库的 SQL 线程因 Relay Log 损坏导致同步停止。作者首先介绍了现象,从库的 Slave_IO_Running 正常,但 Slave_SQL_Running 停止,报错信息提示可能是 binlog 或 relay log 文件损坏。
180 6
|
6月前
|
弹性计算 关系型数据库 MySQL
检查MySQL主从同步状态
【4月更文挑战第30天】
37 0
|
6月前
|
关系型数据库 MySQL Linux
linux下mysql主从同步图文详解
linux下mysql主从同步图文详解
24 0
|
6月前
|
SQL 关系型数据库 MySQL
记一次MySQL AUTO_INCREMENT的故障
一、前言开发突然紧急的过来说,他们记录无法插入了,有报重复键错误ERROR 1062 (23000): Duplicate entry '2147483647' for key 'PRIMARY'表名和数据都是采用测试数据,结果和生产的现象是一致的二、分析测试环境为percona server 5....
155 0
|
11月前
|
SQL 存储 关系型数据库
MySQL下使用SQL命令进行表结构与数据复制实践
MySQL下使用SQL命令进行表结构与数据复制实践
152 0
|
SQL 关系型数据库 MySQL
MySQl数据库第八课-------SQL命令查询-------主要命脉2
MySQl数据库第八课-------SQL命令查询-------主要命脉
|
SQL 关系型数据库 MySQL
MySQl数据库第八课-------SQL命令查询-------主要命脉 1
MySQl数据库第八课-------SQL命令查询-------主要命脉
115 0