位置: 编程技术 - 正文
推荐整理分享MySQL下高可用故障转移方案MHA的超级部署教程(mysql数据库高可用方案),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:consul mysql高可用,consul mysql高可用,mysql的高可用,mysql高可用keepalived,mysql的高可用,mysqlmha高可用,mysql高可用keepalived,mysql的高可用,内容如对您有帮助,希望把文章链接给更多的朋友!
MHA介绍MHA是一位日本MySQL大牛用Perl写的一套MySQL故障切换方案,来保证数据库系统的高可用.在宕机的时间内(通常—秒内),完成故障切换,部署MHA,可避免主从一致性问题,节约购买新服务器的费用,不影响服务器性能,易安装,不改变现有部署。 还支持在线切换,从当前运行master切换到一个新的master上面,只需要很短的时间(0.5-2秒内),此时仅仅阻塞写操作,并不影响读操作,便于主机硬件维护。 在有高可用,数据一致性要求的系统上,MHA 提供了有用的功能,几乎无间断的满足维护需要。 优点: 1.master自动监控和故障转移 在当前已存在的主从复制环境中,MHA可以监控master主机故障,并且故障自动转移。 即使有一些slave没有接受新的relay log events,MHA也会从最新的slave自动识别差异的relay log events,并apply差异的event到其他slaves。因此所有的slave都是一致的。MHA秒级别故障转移(9-秒监测到主机故障,任选7秒钟关闭电源主机避免脑裂,接下来apply差异relay logs,注册到新的master,通常需要时间-秒即total downtime)。另外,在配置文件里可以配置一个slave优先成为master。因为MHA修复了slave之间的一致性,dba就不用去处理一致性问题。 当迁移新的master之后,并行恢复其他slave。即使有成千上万的slave,也不会影响恢复master时间,slave也很快完成。 DeNA公司在+主从环境中用MHA。当其中一个master崩溃,MHA4秒完成故障转移,这是主动/被动集群解决方案无法完成的。 2.互动(手动)master故障转移 MHA可以用来只做故障转移,而不监测master,MHA只作为故障转移的交互。 3.非交互式故障转移 非交互式的故障转移也提供(不监控master,自动故障转移)。这个特性很有用,特别是你已经安装了其他软件监控master。比如,用Pacemaker(Heartbeat)监测master故障和vip接管,用MHA故障转移和slave提升。 4.在线切换master到不同主机 在很多情况下,有必要将master转移到其他主机上(如替换raid控制器,提升master机器硬件等等)。这并不是master崩溃,但是计划维护必须去做。计划维护导致downtime,必须尽可能快的恢复。快速的master切换和优雅的阻塞写操作是必需的,MHA提供了这种方式。优雅的master切换, 0.5-2秒内阻塞写操作。在很多情况下0.5-2秒的downtime是可以接受的,并且即使不在计划维护窗口。这意味着当需要更换更快机器,升级高版本时,dba可以很容易采取动作。 5.master crash不会导致主从数据不一致性 当master crash后,MHA自动识别slave间relay logevents的不同,然后应用与不同的slave,最终所有slave都同步。结合通过半同步一起使用,几乎没有任何数据丢失。 其他高可用方案 6.MHA部署不影响当前环境设置 MHA最重要的一个设计理念就是尽可能使用简单。使用与5.0+以上主从环境,其他HA方案需要改变mysql部署设置,MHA不会让dba做这些部署配置,同步和半同步环境都可以用。启动/停止/升级/降级/安装/卸载 MHA都不用改变mysql主从(如启动/停止)。 当你需要升级MHA到新版本时,不需要停止mysql,仅仅更新HMA版本,然后重新启动MHAmanger即可。 MHA 支持包含5.0/5/1/5.5(应该也支持5.6,翻译文档时MHA开发者没更新对于5.6版本)。有些HA方案要求特定的mysql版本(如mysqlcluster,mysql with global transaction id 等),而且你可能不想仅仅为了MasterHA而迁移应用。很多情况下,公司已经部署了许多传统的mysql应用,开发或dba不想花太多时间迁移到不同的存储引擎或新的特性(newer bleeding edge distributions 不知道这个是否该这么翻译)。 7.不增加服务器费用 MHA 包含MHA Manager和MHA node。MHA node运行在每台mysql服务器上,Manager可以单独部署一台机器,监控+以上master,总服务器数量不会有太大增加。需要注意的是Manager也可以运行在slaves中的一台机器上。 8.性能无影响 当监控master,MHA只是几秒钟(默认3秒)发送ping包,不发送大的查询。主从复制性能不受影响 9.适用任何存储引擎 Mysql不仅仅适用于事务安全的innodb引擎,在主从中适用的引擎,MHA都可以适用。即使用遗留环境的mysiam引擎,不进行迁移,也可以用MHA。
安装配置方法1、示例环境介绍
centos 6.4 x mysql-5.6.-linux-glibc2.5-x_.tar.gz mha4mysql-manager-0..tar.gz mha4mysql-node-0..tar.gz2、服务器说明
masnager ... master ... slave ...三台服务器都安装mysql,将manager作为管理节点
3、配置等价性
manager:
master:
slave:
4、安装mysql
创建mysql配置文件
5、配置权限
manager:
master:
slave:
6、安装依赖包
管理服务器manager需要安装以下全部
如果安perl-DBD-MySQL-4.-3.el6.x_.rpm在检查rep是报错则需要手动编译安装
节点服务器安装
7、创建软连接
导出mysql库搜索路径
8、在所有服务器上安装mha4mysql-node-0..tar.gz
9、在管理服务上安装 mha4mysql-manager-0..tar.gz
、测试ssh连接
、测试replication
、开启管理节点进程
、测试故障转移
关闭主库mysql,查看从库的的状态是否将同步ip切换到新的主库
、设置故障转移的ip
编辑故障转移脚本,将vip设置成...
测试脚本
虚拟ip要手动启动,在主库故障后会自动转移。
测试ip故障转移:
关闭主库mysql,查看vip是否转移的新的主库上。
对MySQL慢查询日志进行分析的基本教程 0、首先查看当前是否开启慢查询:(1)快速办法,运行sql语句showVARIABLESlike"%slow%"(2)直接去my.conf中查看。my.conf中的配置(放在[mysqld]下的下方加入)[mys
MySQL嵌套查询实例详解 本文实例分析了MySQL嵌套查询。分享给大家供大家参考,具体如下:MySQl从4.版后已经完全支持嵌套查询了,那么下面举些简单的嵌套查询的例子吧(源
MySQL查询优化的5个实用技巧 本文总结分析了MySQL查询优化的技巧。分享给大家供大家参考,具体如下:熟悉SQL语句的人都清楚,如果要对一个任务进行操作的话,SQL语句可以有很多
标签: mysql数据库高可用方案
本文链接地址:https://www.jiuchutong.com/biancheng/312458.html 转载请保留说明!友情链接: 武汉网站建设