搭建MySQL主从结构时的问题

说明:记录搭建MySQL主从结构时遇到的几个问题;

问题一:连接主节点失败

搭建完成后从节点查看状态如下:

在这里插入图片描述

错误error connecting to master 'admin@主机IP' - retry-time: 60 retries: 712 message: Host '主机IP' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'

解决:这是因为连接的错误次数过多,被主节点阻止连接了。需在主节点服务器上,执行下面的命令

mysqladmin -u root -p flush-hosts

输入密码,清除主机缓存

在这里插入图片描述

问题二:无法同步

主从搭建完成后,查看状态如下:

在这里插入图片描述

错误ERROR No query specified。说没有查询到内容。

解决:参考下面这篇文章,忘记在主节点配置里增加log-bin=mysql-bin配置。

加上后,重启MySQL后就OK了。

在这里插入图片描述

问题三:没找到Binlog

查看从节点状态,如下:

在这里插入图片描述

错误:Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file'

解决:binlog文件名写错了,主节点的binlog文件名是mysql-bin.XXXXXX,上图写的是binlog.XXXXXX;

在这里插入图片描述

问题四:相同的服务ID

我在尝试使用docker内的MySQL容器搭建主从从结构时,修改容器内配置文件后(参考:修改Docker容器内文件的三种方式),准备进入容器启动MySQL,报下面的错误;

在这里插入图片描述

说无法识别这个配置,我将配置项的横杠(-)换成下划线(_)也没用。然后我试下用Windows的CMD连接,如下:

mysql -u用户 -p密码 -h主机IP -P端口

注意上面后面-P,是大写,表示端口号,和前面的密码区别开。可以看到连接时OK的,敲配置主节点的SQL也没问题;

在这里插入图片描述

但是开始同步后,查看状态,出现下面的错误;

在这里插入图片描述

错误:Fatal error: The replica I/O thread stops because source and replica have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on replica but this does not always make sense; please check the manual before using it).

说是节点设置了相同的服务ID

在这里插入图片描述

我反复确认后,怀疑是配置没有生效,然后对比了其他MySQL服务的配置文件,如下:

在这里插入图片描述

解决:server-id配置,要放在[mysqld]下面,我把这两项从节点的配置移到上面,[mysqld]下面后,重启MySQL容器,就没报错了。

在这里插入图片描述

然后基于两台服务器,与其中一台服务器的MySQL容器之间的主从从结构就搭建完成了。如下:

在这里插入图片描述

问题五:开启同步失败

从节点敲开始同步SQL,报下面的错误;

start replica;

在这里插入图片描述

解决,如上图,敲下面的命令,重置一下再启动同步;

reset replica;
  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

何中应

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值