mysql+mycat+keepalive+haproxy高可用集群搭建
Mysql部署高可用-主主互备
[TOC]
在上一节( 3.mysql部署高可用-一主三从.md ),已经搭建了2个一主三从,本节要完成双主节点的主主互备
主主互备架构图
192.168.1.150,192.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.150,192.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 slave,reset master
查看状态show slave status \G,show master status
测试
在192.168.1.150主节点创建test库
分别查看其它节点,查看test库是否被同步成功