mysql主从复制之异常解决--- Slave_IO_Running: NO 之三大原因

本文深入解析MySQL复制过程中出现“Slave_IO_Running:NO”错误的原因及解决方案,涉及UUID冲突、server-id设置不当及二进制日志位点不一致等问题,提供修改auto.cnf和my.cnf文件的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原因一

如果安装了一台linux 又克隆了两台,一主两从 , 关键点就在于我是克隆的,才导致了报Slave_IO_Running: NO 

原因:mysql 有个uuid , 然而uuid 是唯一标识的,所以我克隆过来的uuid是一样的,只需要修改一下uuid 就ok了,找到auto.cnf 文件修改uuid。auto.cnf文件一般在 /var/lib/mysql/auto.cnf , 如果没有那就用linux 查询命令找:find -name auto.cnf

原因二

原因: 首先确认server-id 是否唯一, mysql 有可能并没有加载my.cnf 文件中的server-id

解决办法:

修改server-id (在my.cnf 文件中)

 查看mysql> show variables like 'server_id';

原因三

原因:这种原因有可能是主库重启造成的二进制文件位置从库于主库不一致

MySQL主从复制是一种常见的数据库备份和负载均衡方案。在主从复制中,主库将更新记录到二进制志中,从库通过读取主库的二进制日志来同步更新。在这个过程中,如果从库的Slave_IO_Running状态为No,则说明从库无法连接到主库或者无法读取主库的二进制日志。这可能是由于以下原因导致的: 1. 主库无法连接:从库无法连接到主库,可能是由于网络故障、主库宕机或者主库防火墙等原因导致的。可以通过ping主库IP地址或者telnet主库的3306端口来检查主库是否可达。 2. 主库二进制日志文件不存在:从库无法读取主库的二进制日志文件,可能是由于主库的二进制日志文件已经被删除或者被移动到其他位置导致的。可以通过在主库上执行show master status命令来查看当前的二进制日志文件名和位置。 3. 从库配置错误:从库的配置文件中可能存在错误,例如主库的IP地址、端口号、用户名、密码等信息配置错误,或者主从库的server_id没有设置或者设置重复等问题。可以通过检查从库的配置文件my.cnf来查看是否存在配置错误。 如果从库的Slave_IO_Running状态为No,可以尝试执行以下步骤来解决问题: 1. 检查主库和从库的网络连接是否正常,确保从库可以ping通主库的IP地址或者telnet主库的3306端口。 2. 在主库上执行show master status命令,查看当前的二进制日志文件名和位置,并在从库上执行change master to命令,将主库的二进制日志文件名和位置设置为与主库一致。 3. 检查从库的配置文件my.cnf,确保主库的IP地址、端口号、用户名、密码等信息配置正确,且server_id没有设置或者设置正确。 4. 在从库上执行start slave命令,重新启动从库的复制进程。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值