keepalived+mysql双主来实现MySQL数据库集群配置,保证两台MySQL数据库的数据完全一样,基本思路是两台MySQL互为主从关系,通过Keepalived配置虚拟IP,实现当其中的一台MySQL数据库宕机后,应用能够自动切换到另外一台MySQL数据库,保证系统的高可用。
所需服务器以及安装包(举例):
keepalived-1.2.20版本安装包
服务器ip | 类型 |
---|---|
10.80.52.234 | mysql-masterA |
10.80.52.232 | mysql-masterB |
10.80.52.199 | 虚拟ip |
mysql双主配置:
- 修改mysql配置文件:
(1) masterA配置:
server-id = 100 // 两个实体数据库id要不同
log_bin = mysql-bin
binlog_format = ROW
max_binlog_size = 1024M
relay_log = mysql-relay-bin
auto_increment_offset = 1
auto_increment_increment =2
gtid_mode = ON
enforce_gtid_consistency = 1
replicate-ignore-db = mysql
replicate-ignore-db = information_schema
replicate-ignore-db = performance_schema
replicate-ignore-db = sys
(2)masterB配置:
#以下三条与masterA不同,其他的均一致
server-id = 200
auto_increment_offset = 1
auto_increment_increment = 2
2.配置mysqlA为mysqlB的master:
#(登录mysql设置允许远程访问)
grant replication slave on *.* to 'root'@'%' identified by 'password';
#查看mysqlA的master信息;
show master status;
+------------------+------