MySql双主互备架构模式

操作系统 CentOS 6.3

MySql版本 mysql-5.0.56

keepalived keepalived-1.1.19.tar.gz

wKiom1f2SrfQGcf-AACVzMwJ5yE052.png-wh_50

Master DB1配置文件

修改MySql 配置文件  /etc/my.cnf

增加以下段落

[mysqld]

server-id=1    节点标示

log-bin=mysql-bin   开启mysqlbinlog日志功能

relay-log = mysql-relay-bin  用来定义日志文件命名格式

replicate-wild-ignore-table=mysql.%

replicate-wild-ignore-table=test.%

replicate-wild-ignore-table=informtion_schema.%

 

Master DB2配置文件

修改MySql 配置文件  /etc/my.cnf

增加以下段落

[mysqld]

server-id=2

log-bin=mysql-bin

relay-log = mysql-relay-bin

replicate-wild-ignore-table=mysql.%

replicate-wild-ignore-table=test.%

replicate-wild-ignore-table=informtion_schema.%


手动同步数据库

执行SQL语句:

mysql> FLUSH TABLES WITH READ LOCK;


注意:不要退出终端,否则锁就失效了


在开启一个终端,直接打包压缩数据文件或者使用mysqldump。

[root@DB1 src]# cd /var/lib/

[root@DB1 lib]# tar zcvf mysql.tar.gz mysql

[root@DB1 lib]# scp mysql.tar.gz DB2:/var/lib/


创建复制用户并授权


wKioL1f2U2OBTvFSAAAy7opt0oo802.png-wh_50

在DB2中将DB1设为主服务器

wKioL1f2VF_A_4GyAAAhkn-D0I0680.png

在DB1上采取同样的操作把DB2设为主服务器

然后启动DB2 Slave 服务  执行命令  start slave;

wKiom1f2VTmBCMlnAAAUXDZ4_1w219.png

mysql> show slave status\G;


DB1上也要开启slave服务


然后用mysql> show slave status\G;可以查看状态了


配置Keepalived实现Mysql高可用

Keepalived配置文件

/etc/keepalived/keepalived.conf

wKiom1f2VgSgoitJAACarnpfiTs265.png

wKiom1f2VgTST3ArAAApnFojUR0998.png

/etc/keepalived/mysqlcheck/check_slave.pl

wKioL1f2VjfjeRowAADgOryC3xE846.png

wKiom1f2VjfRPm46AABAhtcZo-U486.png


测试登录

wKiom1f2X-yQk6BWAAB6HOiMvjY943.png