mysql+mycat+keepalive+haproxy高可用集群(一)

mysql+mycat+keepalive+haproxy高可用集群搭建

集群架构图

开局一张图,内容全靠编


这是mysql+mycat+keepalive+haproxy高可用集群搭建系列...

2.mysql部署高可用-mysql安装.md

3.mysql部署高可用-一主三从.md

4.mysql部署高可用-主主互备.md

填坑总结

坑一: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.

问题背景:

检查从服务器复制功能状态,执行命令show slave status \G,发现error

mysql> show slave status \G
*************************** 1. row ***************************
               Slave_IO_State: 
                  Master_Host: 192.168.1.150
                  Master_User: copy
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000001
          Read_Master_Log_Pos: 437
               Relay_Log_File: mysql-154-slave-relay-bin.000001
                Relay_Log_Pos: 4
        Relay_Master_Log_File: mysql-bin.000001
             Slave_IO_Running: No
            Slave_SQL_Running: Yes
                Last_IO_Errno: 1593
                Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.
............................
1 row in set (0.00 sec)

问题原因:

#从节点的数据库是复制主节点来的。所以从节点下server-uuid,与主节点冲突了
[root@mysql-154-slave 3307]# pwd
/home/mysql/data/3307
[root@mysql-154-slave 3307]# cat auto.cnf 
[auto]
server-uuid=6b0dedc2-7a5c-11eb-8944-000c291220ce
[root@mysql-154-slave 3307]# 
​
[root@mysql-150-master 3306]# cat auto.cnf 
[auto]
server-uuid=6b0dedc2-7a5c-11eb-8944-000c291220ce
[root@mysql-150-master 3306]# 

问题解决:

#关闭从节点服务,重新在生成一个uuid,在auto.cnf
[root@mysql-152-slave mysql]# /home/mysql/mysql-5.7.22/bin/mysqladmin -uroot -p -P3307 -h127.0.0.1 shutdown 
​
[root@mysql-152-slave mysql]# /home/mysql/mysql-5.7.22/bin/mysqladmin -uroot -p -P3308 -h127.0.0.1 shutdown 
​
[root@mysql-153-slave mysql]# /home/mysql/mysql-5.7.22/bin/mysqladmin -uroot -p -P3307 -h127.0.0.1 shutdown 
​
[root@mysql-153-slave mysql]#  /home/mysql/mysql-5.7.22/bin/mysqladmin -uroot -p -P3308 -h127.0.0.1 shutdown 
​
[root@mysql-154-slave 3307]# /home/mysql/mysql-5.7.22/bin/mysqladmin -uroot -p -P3307 -h127.0.0.1 shutdown 
​
[root@mysql-154-slave 3307]#  /home/mysql/mysql-5.7.22/bin/mysqladmin -uroot -p -P3308 -h127.0.0.1 shutdown

坑二:配置主从时,my.cnf设置server-id=150_3306,导致mysql启动立即失败

表示server编号,编号要唯一,切记这个id不能是字符串例如:150_3306 只能是整型 server-id=1503306

坑三:在master1创建库,能同步到master2,但是不能同步到从slave2

操作1:在master1创建了test数据库,可以同步到master2,slave152-3307,slave153-3307,slave154-3307

操作2:在master2创建了test2数据库,可以同步到master1,slave152-3308,slave153-3308,slave154-3308

问题描述:test并没有同步到slave152-3308,slave153-3308,slave154-3308,

test2也没有同步到master2,slave152-3307,slave153-3307,slave154-3307

问题解决:

当150节点作为主节点时,151担任从节点,需要在151上开启从节点binlog功能

开启log-slave-updates参数后,从库从主库复制的数据会写入log-bin日志文件里

###修改151节点配置文件3306.cnf
#在双主模式中,log-slave-updates 配置项一定要配置,否则在master1上进行了更新数据,在master2和slave1上会更新,但是在slave2上不会更新
log-slave-updates=on

同理在150节点上也要加上配置,其他的从节点不需要加这个配置

###修改150节点配置文件3306.cnf
log-slave-updates=on
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

畅游未来

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

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

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

打赏作者

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

抵扣说明:

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

余额充值