Keepalived构建双主MySQL

来源:互联网 发布:vb matlab 速度 编辑:程序博客网 时间:2024/06/12 20:15

文章转自:http://www.myoradba.com/?p=284


本文介绍,关于keepalive的原理请参考《Keepalived 原理与实战精讲及配置范例》
安装环境介绍
mysql.ymz.com 10.211.55.100
db01.ymz.com 10.211.55.5
db02.ymz.com 10.211.55.6
db01 ~ db02 主主复制

Keepalived 安装

配置 keepalived.conf#

配置mysql状态检测脚本 check_mysql.sh,主备相同

## 检测数据库关闭时执行的脚本mysql_down.sh

此脚本是上面配置文件notify_down选项所用到的,keepalived使用notify_down选项来检查real_server的服务状态,当发现real_server服务故障时,便触发此脚本;我们可以看到,脚本就一个命令,通过pkill keepalived强制杀死keepalived进程,从而实现了MySQL故障自动转移。另外,我们不用担心两个MySQL会同时提供数据更新操作,因为每台MySQL上的keepalived的配置里面只有本机MySQL的IP+VIP,而不是两台MySQL的IP+VIP

## 启动db01的 keepalived

使用VIP 连接mysql

## 启动db02的 keepalived

停止db01的mysql,检查/var/log/messages,发现vip 已经转移到db02

异常处理
# 编译是报错 ./configure –prefix=/usr/local/keepalived
configure: error: No SO_MARK declaration in headers
增减 –disable-fwmark
./configure –prefix=/usr/local/keepalived –disable-fwmark

参考:

https://github.com/acassen/keepalived/blob/master/configure.in

http://mrhouzhibin.blog.163.com/blog/static/194596241201111109501168/


0 0