暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Keepalived+MySQL高可用

超凡技术栈 2017-10-29
467
点击上方“公众号” 可以订阅哦!

Keeplived+mysql高可用

一、实验环境

系统:centos  7

mysql版本:mysql-5.7.13

Keepalived:keepalived-1.2.13.tar.gz

mysql-vip:

mysql-master1:192.168.111.130

mysql-master2:192.168.111.131

主主同步就是互为主从关系,在任何一台机器上写入都会同步。

若mysql服务器开启了防火墙,需要关闭防火墙或者创建规则。

1、修改mysql的配置文件

master上配置:

#vim  /etc/my.cnf

重启mysql服务

#service  mysqld  restart

Master1上配置:

#vim   etc/my.cnf

重启mysql服务

#service  mysqld  restart

  1. master设为master1的主服务器

查看master上当前的binlog状态

master1上配置将master设为自己的主服务器并开启slave功能。

查看从的状态,以下黄色部分两个值必须为YES,代表从服务器能正常连接主服务器

  1. master1设为master的主服务器

查看master1上当前的binlog状态

master上配置将master1设为自己的主服务器并开启slave功能。

查看从的状态,以下黄色部分两个值必须为YES,代表从服务器能正常连接主服务器

  1. 测试主主同步

Master操作:

查看master1上是否同步了数据

从上图可以看出master1同步了master的数据。

master1上插入数据看是否同步到master主机上

Master1操作:

查看master上是否同步了数据

从上图可以看出master同步了master1的数据

MySQL主主同步完成!!!

Keepalived安装配置

实现数据库的高可用防止单点故障的发生

在编译安装Keepalived之前,必须先安装内核开发包kernel-devel以及openssl-devel,popt-devel等支持库。

#yum  install  -y  kernel-devel  openssl-devel  popt-devel

安装配置keepalived

添加为系统服务

Master1上也要和master一样安装keepalived

防火墙配置规则如下

master上修改keepalived主配置文件

Master1上配置

Mastermaster1上都添加此检测脚本,作用是当mysql停止工作时自动关闭本机的keepalived,从而实现将故障机器踢出(因每台机器上keepalived只添加了本机为realserver)。

当mysqld正常启动起来后,要手动启动keepalived服务。

#mkdir  /etc/keepalived/bin

#vim  /etc/keepalived/bin/mysql.sh

#chmod   +x  /etc/keepalived/bin/mysql.sh

添加一个网卡ens33:0 做vip使用

#cd  /etc/sysconfig/network-scripts/

#cp  ifcfg-ens33  ifcfg-ens33:0

#vim   ifcfg-ens33:0

Master1上完成相同操作。

进行测试

mastermaster1上分别执行ip addr  show dev ens33:0

Master查看结果:

Master1上查看结果:

由上图可看出master是主服务器,master1是备用服务器

停止MySQL服务,看keepalived健康检查程序是否出发我们编写的脚本。

停止master主机上的mysql服务

Master1上查看结果:

这说明在主服务上停止MySQL服务,触发了我们编写的脚本,进行自动故障切换。

MySQL远程登录测试

客户端登录测试

因为master已停止由master1提供服务

开启master的mysql

以上说明在客户端的查询请求由master相应,故障切换成功

长按二维码发现惊喜


文章转载自超凡技术栈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论