搭建MySQL双主MM+keepalived高可用架构的具体流程


下文我给大家简单讲讲关于搭建MySQL双主MM+keepalived高可用架构的具体流程,大家之前了解过相关类似主题内容吗?感兴趣的话就一起来看看这篇文章吧,相信看完搭建MySQL双主MM+keepalived高可用架构的具体流程对大家多少有点帮助吧。比较常见的高可用架构有MHA,MM,PXC等MM架构优点是:搭建快速方便,适合中小型公司,MySQL互为主从,保证两台数据库的一致性,keepalived实现虚拟IP和自动的服务监控功能,利用VIP自动切换保证高可用,基本可以满足业务需要。但是这种架构存在以下问题:1 切换后出现双vip的问题,脑裂问题等,可以通过增加仲裁节点。2 切换时丢数据,可以配合脚本监控binlog日志或者采用5.7版本的增强半同步。3 主从延迟不能避免,如果要求没有主从延迟,可以采用PXC架构。4 当发生故障的云服务器恢复后,不能自动切回,切换回来比较麻烦,还需要手动修改配置文件中的权重。5 对脚本编写的能力也有不小考验。想要了解keepalived工作原理和配置文件说明的童鞋可以自行百度,或者看看这篇很详细, 传送门keepalived工作原理与配置文件说明
公司大部分的架构为MM+keepalived或者MM+heartbeat,然后主库下面挂上从库作为读库,再配合mycat集群实现读写分离和分库分表就是一套比较完善的MySQL高可用架构了(如下图)。
现在有新的业务需要一套新的环境,在此记录下部署过程,希望对刚接触MySQL的同学有所帮助,前面MySQL安装和主从搭建可以不看,废话不多少,架构图如下
一 环境准备
操作系统版本为 Ubuntu 14.04.5云服务器为16G内存 4核CPU 1T数据目录存储数据库版本为 5.6.39-logIP规划master1: 192.168.70.154master2: 192.168.70.156vip 192.168.70.157
二 MySQL双主搭架在两台数据库云服务器上上传安装包mys开发云主机域名ql-5.6.39-linux-glibc2.12-x86_64.tar.gz解压tar -zxvf mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz将解压后的包移动到MySQL的basedirmv mysql-5.6.39-linux-glibc2.12-x86_64 /usr/local/mysql创建mysql组和用户groupadd mysqluseradd -r -m -s /bin/bash -g mysql mysql修改相关目录的权限chown -R mysql:mysql /usr/local/mysql/chown -R mysql:mysql /data/mysqlchown -R mysql:mysql /etc/my.cnf编辑配置文件
配置文件需要特别注意的地方为:1server-id必须不同,否则主从搭建报错。2 主键自增参数,可以避免主键冲突的错误master1 设置如下auto-increment-increment = 2auto-increment-offset = 1master 2 设置如下auto-increment-increment = 2auto-increment-offset = 2下面给出一个比较全的可以作为参考,其他的要根据自己的实际情况修改:vim /etc/my.cnf以上配置完成后开始初始化mysql_install_db –basedir=/usr/local/mysql –datadir=/data/mysql –defaults-file=/etc/my.cnf出现让你修改root密码之类的信息说明初始化成功,如果没成功也许会提示你安装相关的依赖包启动mysqld_safe –defaults-file=/etc/my.cnf &验证是否安装成功可以通过查看MySQL进程是否存在,3306端口是否被监听等ps -ef |grep mysqlnetstat -nat |grep 3306
配置主主架构154(master)–156(slave) 搭建如下在154上创建复制用户grant replication slave on *.* to ‘repl’@’192.168.70.156’ dentified by ‘mysql’;flush privileges;查看日志号和偏移量在156上start slave ;show slave statusG两个同步进程都为yes说明主从复制成功。156(master)-154(slave) 搭架同理;至此主从搭建完成。
三 keepalived安装配置直接采用apt-get的方式安装apt-get -y install keepalived
修改配置文件154上vim /etc/keepalived/keepalived.conf
156上配置如下编写脚本,该脚本的作用就是当检测不到mysql的服务的时候,kill掉keepalived的进程,实现VIP漂移vim /etc/keepalived/mysql.sh#!/bin/bashpkill keepalived
授予执行权限chmod +x/etc/keepalived/mysql.sh
启动/etc/init.d/keepalived start
查看日志ubuntu系统日志在/var/log/syslogcentos系统日志在 /var/log/message154上的启动日志156上的启动日志
vip出现在154上
四 验证
模拟154云服务器数据库宕机查看日志154上keepalived检查不到mysql的服务,状态变为fail ,将虚拟IP remove,执行脚本,杀掉keepalived进程
156上查看日志 变为master状态ip addr showvip已经在156上,使用navicate工具连接VIP还是能正常提供服务至此,所有的都搭建完成。

VIP如何切换回来最安全呢?现在模拟154恢复,让VIP从156漂回到154。现在把154上的数据库启动,154上启动keepalived

在156上停掉keepalived,vip就可以漂回154了至此完成切回。大家觉得搭建MySQL双主MM+keepalived高可用架构的具体流程这篇文章怎么样,是否有所收获。如果想要了解更多相关,可以继续关注我们的行业资讯板块。

相关推荐: MySQL修改密码方法汇总

MySQL5.7版本之前修改密码的方法:方法1: 用SET PASSWORD命令mysql -u root mysql> SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘newpass’);方法2:用mys…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/08 22:29
下一篇 06/08 22:29

相关推荐