You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS7下MySQL8主从复制Last_IO_Error连接主库报错113如何解决

MySQL 8 CentOS 7主从复制连接错误113排查解决思路

错误码113对应网络层无法到达目标主库的3306端口,即使已确认端口开放也需要按以下步骤逐一校验:

1. 基础网络连通性排查

  • 从库服务器执行ping xx.xx.xx.xx(替换为主库实际IP),确认ICMP连通性。若ping不通,检查主从服务器的路由规则、网关配置、物理网络链路是否正常。
  • 从库执行nc -zv xx.xx.xx.xx 3306或telnet xx.xx.xx.xx 3306验证端口连通性,若返回连接失败,说明端口开放配置存在疏漏。

2. 防火墙与访问控制规则排查

  • 主库执行firewall-cmd --list-all,检查firewalld规则中3306端口是否明确允许从库IP访问,排除高优先级拒绝规则覆盖开放规则的情况。
  • 从库执行firewall-cmd --list-all --zone=public,检查是否存在出站3306端口的限制规则。
  • 若为云服务器,确认主库安全组入方向开放3306端口给从库IP,从库安全组出方向开放3306端口到主库IP。

3. 主库MySQL配置排查

  • 主库执行show variables like 'bind_address';,确认绑定地址不是127.0.0.1,需配置为0.0.0.0或主库实际对外服务IP,修改后需重启MySQL服务生效。
  • 主库执行show grants for 'replica'@'从库实际IP';,确认复制账号replica拥有REPLICATION SLAVE权限,且授权主机地址与从库实际IP严格匹配。
  • 主库执行select user,host,plugin from mysql.user where user='replica';,确认复制账号的认证插件为mysql_native_password,MySQL8默认的caching_sha2_password插件会导致从库连接认证失败。

4. SELinux策略排查

CentOS7默认开启SELinux,可能限制MySQL网络连接:

  • 主库执行sestatus查看SELinux运行状态,若为Enforcing模式,执行getsebool -a | grep mysql确认mysql_connect_any参数为on。
  • 若参数为off,执行setsebool -P mysql_connect_any 1开启权限。

配置修改后验证步骤

  • 从库执行stop slave;停止原有同步进程。
  • 重新配置主库同步参数:change master to master_host='xx.xx.xx.xx',master_user='replica',master_password='复制账号密码',master_log_file='主库当前binlog文件名',master_log_pos=主库当前binlog偏移量;
  • 执行start slave;启动同步。
  • 执行show slave status\G查看状态,Slave_IO_Running和Slave_SQL_Running均为Yes即为配置成功。

内容的提问来源于stack exchange,提问作者tkdhanasekar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 00:21:02