一、概述

    MySQL-HA目前有很多实现方案,今天就用MySQLmaster+keepalived来实现MySQL-HA

    MySQL-HA环境中,MySQL互为主从关系,这样就保证了两台MySQL数据的一致性。

    然后用keepalived实现虚拟IP,通过keepalived来实现MySQL故障时自动切换。

     

二、实验环境

虚拟机IP操作系统vCPU/个内存/G硬盘/G备注
Mysql01192.168.1.100Ubuntu14.041120
Mysql02192.168.1.101Ubuntu14.041120

 

三、mysql-server-5.6安装

         安装过程省略

 

四、配置Mysql双主架构

4.1、在两台服务器上同时创建用于“复制的账号”

mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO copy_user@'192.168.1.%' IDENTIFIED BY '1qaz#EDC';

MySQL主从同步配置_其他

说明:复制账户:copy_user         密码:1qaz#EDC

注意:需要在两台服务器上创建,IP地址请更改为实际的IP地址

 

4.2、更改配置文件

4.2.1mysql01服务器配置

root@mysql01:~# vim /etc/mysql/my.cnf

需修改的内容如下:

bind-address            = 0.0.0.0               #设为0.0.0.0,允许任意ip连接.

server-id               = 1

log_bin                 = /var/log/mysql/mysql-bin.log

relay_log               = /var/log/mysql/mysql-relay-bin

log_slave_updates       = 1

MySQL主从同步配置_其他_02

4.2.2mysql02服务器配置

root@mysql02:~# vim /etc/mysql/my.cnf

需修改的内容如下:

bind-address            = 0.0.0.0               #设为0.0.0.0,允许任意ip连接.

server-id               = 2

log_bin                 = /var/log/mysql/mysql-bin.log

relay_log               = /var/log/mysql/mysql-relay-bin

log_slave_updates       = 1

MySQL主从同步配置_mysql_03

 

4.3、两台服务器进行重启mysql服务

/etc/init.d/mysql restart

MySQL主从同步配置_其他_04

 

4.4、在两台服务器上分别启动复制

4.4.1mysql01配置

mysql> change master to master_host='192.168.1.101', master_user='copy_user', master_password='1qaz#EDC';

MySQL主从同步配置_其他_05

 

 

4.4.2mysql02配置

mysql> change master to master_host='192.168.1.100', master_user='copy_user', master_password='1qaz#EDC';

MySQL主从同步配置_其他_06

 

4.5.1mysql01启动从复制

mysql> start slave

 

4.5.2mysql02启动从复制

mysql> start slave

 

4.6、在两台服务器上分别查看状态,都为yes表示配置成功

MySQL主从同步配置_mysql_07

现在任何一个MySQL发生数据变化,另外一台数据库也会跟着进行数据更新。