mysql+mycat+keepalive+haproxy高可用集群搭建(主主互备)

212 阅读2分钟

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

Mysql部署高可用-主主互备

[TOC]


在上一节( 3.mysql部署高可用-一主三从.md ),已经搭建了2个一主三从,本节要完成双主节点的主主互备

主主互备架构图

image-20210302224833973

192.168.1.150192.168.1.151互为主从,这个是本节的内容

主节点配置

修改192.168.1.150节点上的3306.cnf,增加如下配置

#控制主键自增的自增步长,用于防止Master与Master之间复制出现重复自增字段值,通常auto_increment_increment=n,有多少台主服务器,n 就设置为多少
auto_increment_increment=2
#不一样的点 相当于起始值
auto_increment_offset=1 
#表示每几次事务提交,MySQL把binlog缓存刷进日志文件中,默认是0,最安全的是设置为1
sync_binlog=1

修改192.168.1.151节点上的3306.cnf,增加如下配置

auto_increment_increment=2
auto_increment_offset=2
sync_binlog=1

注意:

1.从库只开启log-bin功能,不添加log-slave-updates参数,从库从主库复制的数据不会写入log-bin日志文件里

2.直接向从库写入数据时,是会写入log-bin日志的

3.在自动生成主键的时候,会在已生成主键的基础上按照规则生成,即比存在的值大

从节点配置

192.168.1.150192.168.1.151互为主从,

当150为主时,151为从,设置从节点192.168.1.151的主节点信息

[root@mysql-151-master mysql]# /home/mysql/mysql-5.7.22/bin/mysql -uroot -h 127.0.0.1 -p -P3306

mysql> change master to master_host='192.168.1.150',master_port=3306,master_user='copy',master_password='ruanjie@0511',master_log_file='mysql-bin.000001',master_log_pos=437;
Query OK, 0 rows affected, 2 warnings (0.01 sec)

mysql>  start slave;

当151为主时,150为从,设置从节点192.168.1.150的主节点信息

mysql> change master to master_host='192.168.1.151',master_port=3306,master_user='copy',master_password='ruanjie@0511',master_log_file='mysql-bin.000001',master_log_pos=437;
Query OK, 0 rows affected, 2 warnings (0.01 sec)
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

至此主主互备搭建完成

从库复制功能状态

主从复制虽然搭完成,但是还没有检查确认是否成功。

在从库节点上,连上mysql从库,执行show slave status \G;

只有 Slave_IO_Running: Yes Slave_SQL_Running: Yes 同时为yes,从复制才是正确开启的

主从常用命令

停止从复制stop slave

启动从复制start slave

重置reset slavereset master

查看状态show slave status \Gshow master status

测试

image-20210302131018044

在192.168.1.150主节点创建test库

分别查看其它节点,查看test库是否被同步成功

image-20210302131139812image-20210302131250416image-20210302131310472

image-20210302131325214image-20210302131338935image-20210302131352065

image-20210302131414111