mysql双主热备,也称主主互备,目的是mysql数据库高可用,只支持双机,原因是mysql的复制是一主多从,但一个从服务器只能有一个主服务器。
下面要讲的,除了“主主互备”以外,还加了keepalived。进行容灾的控制。
通常说的「双机热备」是指两台机器都在运行,但并不是两台机器都同时在提供服务。当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短。
使用KeepAlived实现高可用的MYSQL_HA集群环境中,MySQL为(Master/Master)主/主同步复制关系,保证MYSQL服务器数据的一致性,用KeepAlived提供虚拟IP,通过KeepAlived来进行故障监控,实现Mysql故障时自动切换。
布署环境拓朴如下:
Mysql VIP :192.168.187.61
Master1:192.168.187.129
Master2:192.168.187.132
OS 环境:Cent OS 6.5
Mysql版本:Mysql5.5.31
一:设置配置文件:
Mysql是通过日志进行同步复制的,先建立日志文件
touch /var/log/mysql/mysql-bin.log //建立日志文件,请设置权限,如777
chown mysql.mysql /var/log/mysql/mysql-bin.log //将日志文件的所属用户和用户组更改成mysql
在两台要进行备份的mysql服务器上的my.cnf文件进行配置如下(将下面的配置分别加入相关服务器的my.cnf,放在配置文件的[mysqld_safe]上面):
Master1(192.168.187.129)
Master(192.168.187.132)
#主标服务标识号,必需唯一
server-id = 1
#因为MYSQL是基于二进制的日志来做同步的,每个日志文件大小为 1G
log-bin=/var/log/mysql/mysql-bin.log
#要同步的库名
binlog-do-db = test
#不记录日志的库,即不需要同步的库
binlog-ignore-db=mysql
#用从属服务器上的日志功能
log-slave-updates
#经过1日志写操作就把日志文件写入硬盘一次(对日志信息进行一次同步)。n=1是最安全的做法,但效率最低。默认设置是n=0。
sync_binlog=1