再谈Mysql MHA
2016-03-29 16:45
369 查看
关于Mysql数据库的高可用以及mysql的proxy中间件的选型一直是个很活跃的技术话题。以高可用为例,解决方案有mysql ndb集群,mmm , mha, drbd等多种选择。Mysql 的proxy中间件则有mysql-proxy, atlas , cobar, mycat, tddl等,可谓五花八门。
以上对应的解决方案都有各种的优缺点,生产环境的选型的原则无非几个字:“简单,符合要求且高效!”一句话:适合自己的,才是最好的!
本文将介绍采用在mysql 1主3从的环境下,采用mha架构实现mysql master的ha和自动failover。进而结合atlas数据库代理完成mysql数据库的整体读写请求分离,同时在atlas这层实现ha和failover,避免单点故障。数据库架构设计拓扑如下:
一:环境介绍
Atlas 主:192.168.1.12/24
Atlas 从:192.168.1.81/24
Atlas vip: 192.168.1.230/24
Atlas write:
master:192.168.1.225/24
Slave1:192.168.1.226/24
Slave2:192.168.1.227/24
管理节点:192.168.1.12/24
Mha vip: 192.168.1.231/24
Atlas read:
Slave2:192.168.1.227/24
Slave3:192.168.1.228/24
由于文章篇幅关系,mha和atlas将分开两篇文章来介绍!
其实早在两年前就尝试过mha, 由于种种原因,当时只研究了皮毛,本文也算是对前文的一个补充! 前文传送门:/article/4304307.html
二:配置数据库复制, 这个比较简单,配置步骤省略(如有问题请百度一下!)。
Master
Slave:(226,227,228均为此状态)
二:安装及配置mha
1: 配置主机间的ssh密钥信任,此处以225服务器为例,其他服务器执行同样的操作
2:安装mha,这里为了方便,直接采用rpm包形式进行安装
3: 配置mha主配置文件
4:准备failover脚本
# cat /usr/local/scripts/master_ip_failover
# chmod +x /usr/local/scripts/master_ip_failover
5:进行ssh检查
# masterha_check_ssh --conf=/etc/mha/mha.conf
# cp -rvp /usr/lib/perl5/vendor_perl/MHA /usr/local/lib64/perl5/
(mha的数据库节点和管理节点均需要执行此步骤)
# masterha_check_ssh --conf=/etc/mha/mha.conf
6:进行同步检查
# masterha_check_repl --conf=/etc/mha/mha.conf
7: 管理节点启动manager进程
三:测试mhafailover
1:Master节点(关闭mysql进程)
2:226服务器(自动获取VIP,且转换为master)
3:227服务器(自动从新的master上进行复制)
4:管理节点查看到的日志(fairover之后,mha manager进程会自动关闭)
# tail -f /usr/local/mha/manager.log
四:恢复操作
1:重启225服务器mysql服务
2:管理节点,检查同步报错
3:配置225服务器mysql为新的slave,并启动同步进程
4:管理节点上启动manager进程
以上对应的解决方案都有各种的优缺点,生产环境的选型的原则无非几个字:“简单,符合要求且高效!”一句话:适合自己的,才是最好的!
本文将介绍采用在mysql 1主3从的环境下,采用mha架构实现mysql master的ha和自动failover。进而结合atlas数据库代理完成mysql数据库的整体读写请求分离,同时在atlas这层实现ha和failover,避免单点故障。数据库架构设计拓扑如下:
一:环境介绍
Atlas 主:192.168.1.12/24
Atlas 从:192.168.1.81/24
Atlas vip: 192.168.1.230/24
Atlas write:
master:192.168.1.225/24
Slave1:192.168.1.226/24
Slave2:192.168.1.227/24
管理节点:192.168.1.12/24
Mha vip: 192.168.1.231/24
Atlas read:
Slave2:192.168.1.227/24
Slave3:192.168.1.228/24
由于文章篇幅关系,mha和atlas将分开两篇文章来介绍!
其实早在两年前就尝试过mha, 由于种种原因,当时只研究了皮毛,本文也算是对前文的一个补充! 前文传送门:/article/4304307.html
二:配置数据库复制, 这个比较简单,配置步骤省略(如有问题请百度一下!)。
Master
Slave:(226,227,228均为此状态)
二:安装及配置mha
1: 配置主机间的ssh密钥信任,此处以225服务器为例,其他服务器执行同样的操作
# cat /usr/local/scripts/master_ip_failover
5:进行ssh检查
# masterha_check_ssh --conf=/etc/mha/mha.conf
# cp -rvp /usr/lib/perl5/vendor_perl/MHA /usr/local/lib64/perl5/
(mha的数据库节点和管理节点均需要执行此步骤)
# masterha_check_ssh --conf=/etc/mha/mha.conf
6:进行同步检查
# masterha_check_repl --conf=/etc/mha/mha.conf
1:Master节点(关闭mysql进程)
2:226服务器(自动获取VIP,且转换为master)
3:227服务器(自动从新的master上进行复制)
4:管理节点查看到的日志(fairover之后,mha manager进程会自动关闭)
# tail -f /usr/local/mha/manager.log
1:重启225服务器mysql服务
3:配置225服务器mysql为新的slave,并启动同步进程
相关文章推荐
- Navicat异地自动备份MySQL方法详解(图文)
- 保存mysql用户的登录信息到~.my.cnf文件;用于方便登录操作。
- mysql导入sql文件乱码或者报错unknown command
- MySQL之alter语句用法总结
- mysql:sql行列转换
- mysql常用函数
- MySQL权限篇之SHUTDOWN及SUPER还有TRIGGER
- Mysql学习总结(14)——Mysql主从复制配置
- Mysql学习总结(14)——Mysql主从复制配置
- MySQL权限篇之SHOW DATABASES及SHOW VIEW
- MySQL绿色版的安装(mysql-5.6.22-win32.zip)
- mysql 设置、添加主键以及自增问题
- MySQL导入sql脚本中文乱码设置和常用命令
- MySQL的查询计划中ken_len的值计算
- MySQL权限篇之REPLICATION CLIENT及REPLICATION SLAVE
- Fatal error: Call to undefined function mysql_connect() in F:\急求解决方法
- mysql忽略主键冲突、避免重复插入的几种方式
- mysql sql语句添加伪列
- MySQL管理之FLUSH语句
- MySQL应用层传输协议分析