返回顶部
首页 > 资讯 > 数据库 >MySQL中的MHA怎么用
  • 591
分享到

MySQL中的MHA怎么用

2024-04-02 19:04:59 591人浏览 独家记忆
摘要

本篇文章为大家展示了Mysql中的MHA怎么用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。提到mysql高可用性,很多人会想到,亦或者+,不过这些方案的复杂性常常

本篇文章为大家展示了Mysql中的MHA怎么用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

提到mysql高可用性,很多人会想到,亦或者+,不过这些方案的复杂性常常让人望而却步,与之相对,利用Mysql复制实现高可用性则显得容易很多,目前大致有,,等方案可供选择:MMM是最常见的方案,可惜它问题太多(,);至于PRM,它还是个新项目,暂时不推荐用于产品环境,不过作为的作品,它值得期待;如此看来目前只能选MHA了,好在经过大规模的实践应用证明它是个靠谱的工具
 
安装:
作为前提条件,应先配置MySQL复制,并设置ssh公钥免密码登录。下面以Centos为例来说明,最好先安装EPEL,不然YUM可能找不到某些软件包。
 
MHA由node和Manager组成,Node运行在每一台MySQL服务器上,也就是说,不管是MySQL主服务器,还是MySQL从服务器,都要安装Node,而Manager通常运行在独立的服务器上,但如果硬件资源吃紧,也可以用一台MySQL从服务器来兼职Manager的角色。
 
安装Node:
 
shell> yum install perl-DBD-MySQL
shell> rpm -Uvh Http://mysql-master-ha.Googlecode.com/files/mha4mysql-node-0.52-0.noarch.rpm安装Manager:
 
shell> yum install perl-DBD-MySQL
shell> yum install perl-Config-Tiny
shell> yum install perl-Log-Dispatch
shell> yum install perl-Parallel-ForkManager
shell> rpm -Uvh http://mysql-master-ha.googlecode.com/files/mha4mysql-node-0.52-0.noarch.rpm
shell> rpm -Uvh http://mysql-master-ha.googlecode.com/files/mha4mysql-manager-0.52-0.noarch.rpm配置:
配置全局设置:
 
shell> cat /etc/masterha_default.cnf
[server default]
user=...
passWord=...
ssh_user=...配置应用设置:
 
shell> cat /etc/masterha_application.cnf
[server_1]
hostname=...
 
[server_2]
hostname=...注:MHA配置文件中参数的详细介绍请参考官方文档。
 
检查
检查MySQL复制:
 
shell> masterha_check_repl --conf=/etc/masterha_application.cnf检查SSH公钥免密码登录:
 
shell> masterha_check_ssh --conf=/etc/masterha_application.cnf实战
首先启动MHA进程:
 
shell> masterha_manager --conf=/etc/masterha_application.cnf注:视配置情况而定,可能会提示read_only,relay_log_purge等警告信息。
 
然后检查MHA状态:
 
shell> masterha_check_status --conf=/etc/masterha_application.cnf注:如果正常,会显示『PING_OK』,否则会显示『NOT_RUNNING』。
 
到此为止,一个基本的MHA例子就能正常运转了,不过一旦当前的MySQL主服务器发生故障,MHA把某台MySQL从服务器提升为新的MySQL主服务器后,如何通知应用呢?这就需要在配置文件里加上如下两个参数:
 
master_ip_failover_script
master_ip_online_change_script
说到Failover,通常有两种方式:一种是虚拟IP地址,一种是全局配置文件。MHA并没有限定使用哪一种方式,而是让用户自己选择,虚拟IP地址的方式会牵扯到其它的软件,这里就不赘述了,以下简单说说全局配置文件,以PHP为实现语言,代码如下:
 
#!/usr/bin/env
<?php
$longopts = array(
    'command:',
    'ssh_user:',
    'orig_master_host:',
    'orig_master_ip:',
    'orig_master_port:',
    'new_master_host::',
    'new_master_ip::',
    'new_master_port::',
);
 
$options = getopt(null, $longopts);
 
if ($options['command'] == 'start') {
    $params = array(
        'ip'   => $options['new_master_ip'],
        'port' => $options['new_master_port'],
    );
 
    $string = '<?php return ' . var_export($params, true) . '; ?>';
 
    file_put_contents('config.php', $string, LOCK_EX);
}
 
exit(0);
?>注:用其它语言实现这个脚本也是OK的,最后别忘了给脚本加上可执行属性。
 
如果要测试效果的话,可以kill掉当前的MySQL主服务器,稍等片刻,MHA就会把某台MySQL从服务器提升为新的MySQL主服务器,并调用master_ip_failover_script脚本,如上所示,我们在master_ip_failover_script脚本里可以把新的MySQL主服务器的ip和port信息持久化到配置文件里,这样应用就可以使用新的配置了。
 
有时候需要手动切换MySQL主服务器,可以使用masterha_master_switch命令,不过它调用的不是master_ip_failover_script脚本,而是master_ip_online_change_script脚本,但调用参数类似,脚本可以互用。
 
shell> masterha_master_switch --conf=/etc/masterha_application.cnf --master_state=dead --dead_master_host=...
shell> masterha_master_switch --conf=/etc/masterha_application.cnf --master_state=alive --new_master_host=...注:针对原来的MySQL主服务器是否已经宕机,执行命令所需的参数有所不同。
 
需要说明的是,缺省情况下,如果MHA检测到连续发生宕机,且两次宕机时间间隔不足八小时的话,则不会进行Failover,之所以这样限制是为了避免ping-pong效应。不过为了自动化,我们往往希望能取消这种限制,此时可以用如下方式启动Manager:
 
shell> nohup masterha_manager --conf=/etc/masterha_application.cnf --ignore_last_failover --remove_dead_master_conf &注:请确保Manager的运行用户对masterha_application.cnf有写权限

上述内容就是MySQL中的MHA怎么用,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL中的MHA怎么用

本文链接: https://lsjlt.com/news/61756.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL中的MHA怎么用
    本篇文章为大家展示了MySQL中的MHA怎么用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。提到MySQL高可用性,很多人会想到,亦或者+,不过这些方案的复杂性常常...
    99+
    2024-04-02
  • MySQL中MHA有什么用
    这篇文章给大家分享的是有关MySQL中MHA有什么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 概述MHA是一位日本MySQL大牛用Perl写的...
    99+
    2024-04-02
  • Mysql MHA部署中怎么进行MHA软件安装
    Mysql MHA部署中怎么进行MHA软件安装,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Mysql MHA部署-MHA软件...
    99+
    2024-04-02
  • 怎么搭建MHA+MySQL
    这篇文章主要介绍“怎么搭建MHA+MySQL”,在日常操作中,相信很多人在怎么搭建MHA+MySQL问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么搭建MHA+MySQL”...
    99+
    2024-04-02
  • MySQL高可用方案MHA怎么用
    这篇文章主要为大家展示了“MySQL高可用方案MHA怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL高可用方案MHA怎么用”这篇文章吧。 MyS...
    99+
    2024-04-02
  • MySQL中MHA高可用集群是怎样的
    本篇文章为大家展示了MySQL中MHA高可用集群是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、什么是MHA传统的主从复制如果主库宕机,其余从库不会自动的...
    99+
    2024-04-02
  • MySQL中Consul+MHA使用方案是怎样的
    MySQL中Consul+MHA使用方案是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、解决问题解决mysql数据库主库单点问题...
    99+
    2024-04-02
  • Mysql中MHA的原理是什么
    本篇内容介绍了“Mysql中MHA的原理是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! MHA简...
    99+
    2024-04-02
  • mysql的MHA高可用
    一.MHA简介 作者简介 松信嘉範: MySQL/Linux专家 2001年索尼公司入职 2001年开始使用oracle 2004年开始使用MySQL 2006年9月-2010年8月MySQL从事顾问 2010年-2012年 DeNA 2...
    99+
    2016-04-01
    mysql的MHA高可用
  • MHA高可用Mysql
    原文:https://www.cnblogs.com/ckh2014/p/14488889.html...
    99+
    2016-05-17
    MHA高可用Mysql 数据库入门 数据库基础教程
  • mysql中MHA如何搭建
    这篇文章主要为大家展示了“mysql中MHA如何搭建”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql中MHA如何搭建”这篇文章吧。 ...
    99+
    2024-04-02
  • mysql的mha高可用原理是什么
    MySQL的MHA(Master High Availability)是一种用于MySQL数据库的高可用解决方案,主要用于管理主从复...
    99+
    2023-10-26
    mysql
  • MySQL 高可用 MHA check scripts
    介绍几个MHA check 命令,输出如下 [root@MHA bin]# pwd /usr/local/bin [root@MHA bin]# ls -l total 104 -r-xr-xr-x. 1 ...
    99+
    2024-04-02
  • Mysql实现MHA高可用
    环境: CentOS7.4 x 4 mha4mysql-manager x 1 mha4mysql-node x 3 node节点搭建一主双从 mha4mysql代码托管:https://co...
    99+
    2024-04-02
  • MySQL中MHA源码的示例分析
    小编给大家分享一下MySQL中MHA源码的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! MySQL的高可用方案很多,...
    99+
    2024-04-02
  • MySQL中HA MHA如何搭建
    小编给大家分享一下MySQL中HA MHA如何搭建,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mha结构恢复过程:mha架构图...
    99+
    2024-04-02
  • MySQL MHA集群方案是怎样的
    本篇文章为大家展示了MySQL MHA集群方案是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。MySQL MHA集群方案调研 1  MHA集群的基本...
    99+
    2024-04-02
  • MySQL高可用架构之MHA
    一、MHA介绍   MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可...
    99+
    2019-01-11
    MySQL高可用架构之MHA
  • MySQL高可用之MHA部署
    MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行...
    99+
    2024-04-02
  • MYSQL架构中如何主从MHA
    这篇文章给大家介绍MYSQL架构中如何主从MHA,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。MHA – GTID模式MasterHigh Availability Manager a...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作