环境: 三台机器

主服务器: 192.168.1.130

主备机器: 192.168.1.131

监控机器: 192.168.1.132

130和131, 是mysql双主架构

1.在三台机器上安装mha4mysql-node

yum -y install perl-DBD-MySQL

tar -zxvpf mha4mysql-node-0.56.tar.gz

mha4mysql-node-0.56.tar.gz

cd mha4mysql-node-0.56

perl Makefile.PL

----------------

可能报错:

Can't locate ExtUtils/MakeMaker.pm

Can't locate CPAN.pm

解决办法:

yum install perl perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker perl-CPAN

----------------

make && make install

2.在主服务器和主备机器上:

授权账户

mysql> grant all on *.* to ';

主备修改my.cnf: 增加两个参数

[mysqld]

read-only

relay_log_purge=

3.在监控机器上安装mha4mysql-manager

yum install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager perl-Config-IniFiles perl-Time-HiRes

tar -zxvpf mha4mysql-manager-0.56.tar.gz

mha4mysql-manager-0.56.tar.gz

cd mha4mysql-manager-0.56

perl Makefile.PL

------------------

可能报错:

Can't locate Log/Dispatch.pm

解决办法:

perl -MCPAN -e "install Log::Dispatch"

------------------

make && make install

4.修改manager的配置文件: 详见...

mkdir /etc/masterha

mkdir -p /masterha/app1

cd mha4mysql-manager-0.56

cp samples/conf/* /etc/masterha/

cp samples/scripts/* /usr/local/bin/

5.在三台机器上都执行: 建立ssh无密码登录环境

ssh-keygen -t rsa

ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.32.130

ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.32.131

//132机器: 执行后两句

//131机器: 执行第二句

//130机器: 执行第三句

6.回到监控机器, 检查: ssh登录 和 repl复制

masterha_check_ssh --conf=/etc/masterha/app1.cnf

------------------

可能报错:

Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)

解决办法: ???

chmod 700 /root/

chmod 700 /root/.ssh/

chmod 644 /root/.ssh/authorized_keys

chmod 600 /root/.ssh/id_rsa

------------------

masterha_check_repl --conf=/etc/masterha/app1.cnf

都无误后可以启动manager

nohup masterha_manager --conf=/etc/masterha/app1.cnf < /dev/null > /masterha/app1/manager.log 2>&1 &

7.在主备机器或从服务器上, 加入计划任务

  * * * /usr/local/bin/purge_relay_logs –user=mha –password= –disable_relay_log_purge >> /masterha/purge_relay_logs.log >&

正常情况下,master主机用虚拟IP对外提供写服务。master宕掉后, master将转移到主备

配置文件:      /etc/masterha/app1.cnf

[server default]

user=mha

password=

manager_workdir=/masterha/app1

manager_log=/masterha/app1/manager.log

remote_workdir=/masterha/app1

ssh_user=root

repl_user=rep

repl_password=

ping_interval=

secondary_check_script= masterha_secondary_check -s 192.168.1.130 -s 192.168.1.131

master_ip_failover_script=/usr/local/bin/master_ip_failover

[server1]

hostname=192.168.32.130

ssh_port=

master_binlog_dir=/usr/local/mysql/data

candidate_master=

[server2]

hostname=192.168.32.131

ssh_port=

master_binlog_dir=/usr/local/mysql/data

candidate_master=

;

mysql系列之8.mysql高可用 (mha4mysql)的更多相关文章

  1. 利用keepalive+mysql replication 实现数据库的高可用

    利用keepalive+mysql replication 实现数据库的高可用 http://www.xuchanggang.cn/archives/866.html

  2. [转帖]【MySQL+keepalived】用keepalived实现MySQL主主模式的高可用

    [MySQL+keepalived]用keepalived实现MySQL主主模式的高可用 https://www.jianshu.com/p/8694d07595bc 一.实验说明 MySQL主主模式 ...

  3. Mysql双主双从高可用集群的搭建且与MyCat进行整合

    1.概述 老话说的好:瞻前顾后.患得患失只会让我们失败,下定决心,干就完了. 言归正传,之前我们聊了Mysql的一主一从读写分离集群的搭建,虽然一主一从或一主多从集群解决了并发读的问题,但由于主节点只 ...

  4. mysql mha 主从自动切换 高可用

    mha(Master High Availability)目前在MySQL多服务器(超过二台),高可用方面是一个相对成熟的解决方案. 一,什么是mha,有什么特性 1. 主服务器的自动监控和故障转移 ...

  5. MySQL MGR+ Consul之数据库高可用方案

    背景说明:     基于目前存在很多MySQL数据库单点故障,传统的MHA,PXC等方案用VIP或者DNS切换的方式可以实现.基于数据库的数据强一致性考虑,采用MGR集群,采用consul服务注册发现 ...

  6. 【mysql】Mgr实现数据库高可用架构

    转载:https://www.cnblogs.com/luoahong/articles/8043035.html MGR简介 MySQL Group Replication(下简称:MGR)是MyS ...

  7. 通过keepalived搭建MySQL双主模式的高可用集群系统

    1. 配置MySQL双主模式 1.修改my.cnf配置文件 默认情况下,MySQL的配置文件是/etc/my.cnf,在配置文件的[mysqld]段添加如下内容: server-id=1 log-bi ...

  8. 企业级-Mysql双主互备高可用负载均衡架构(基于GTID主从复制模式)(原创)

    前言:          原理与思想        这里选用GTID主从复制模式Mysql主从复制模式,是为了更加确保主从复制的正确性.健康性与易配性.这里做的是两服务器A,B各有Mysql实例331 ...

  9. MySQL+Keepalived实现主主高可用方案

    Mysql主主高可用方案 master配置 [root@master ~]# yum -y install keepalived [root@master ~]# vim /etc/keepalive ...

  10. MySQL双主+keepalived实现高可用实现(热备)

    环境:centos6.7 最小化安装 192.168.100.152 master 主192.168.100.153 slave 从192.168.100.132 v_ip 浮动IP 配置ssh密码登 ...

随机推荐

  1. Xamarin XAML语言教程Xamarin.Forms中改变活动指示器颜色

    Xamarin XAML语言教程Xamarin.Forms中改变活动指示器颜色 在图12.10~12.12中我们会看到在各个平台下活动指示器的颜色是不一样的.Android的活动指示器默认是深粉色的: ...

  2. PHP如何在页面中原样输出HTML代码

    字符串与HTML之间的相互转换主要应用htmlentities()函数来完成. header("Content-Type: text/html; charset=utf-8"); ...

  3. Idea下Maven的使用

    一.导入maven结构的web工程 (1)在Intellij IDEA中选择File->New->Project from Version Control->Subversion. ...

  4. java程序容错

    程序最怕出错的方式就是直接闪退 编程应该以这种方式进行,保证结构不出错,数据可容错的方式 比如 fungetsonmfrominternet(){变量 a a=从网络返回数据 return a } 在 ...

  5. Jsp2.0自定义标签(第三天)——EL表达式的使用

    1.提出问题: 我们经常会看到这样的jsp页面代码: 浏览器显示: 为什么会在页面输出:Hello World  ,${per}究竟是如何找到“Hello World”的呢? 2.分析问题: 要想解决 ...

  6. ios编程规范

    允许使用较长的描述尽量不要使用缩写,而是将完整的意思写出来.源于代码的维护可能会被不同文化背景的programmer阅读 适当的命名前缀,比如给变量,协议等,不要给方法加前缀 方法命名规则一般以小写字 ...

  7. 《linux 内核全然剖析》 mktime.c

    tm结构体的定义在time.h里面 struct tm { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_y ...

  8. Android开发系列(二十三):实现带图片提示的Toast提示信息框

    Android中的Toast是非经常见的一个消息提示框.可是默认的消息提示框就是一行纯文本.所以我们能够为它设置一些其它的诸如是带上图片的消息提示. 实现这个非常easy: 就是定义一个Layout视 ...

  9. sql执行顺序图

    http://www.16aspx.com/cmsimages/20130325/664845013.png

  10. iframe中,重新加载页面

    比如在iframe中的页面,设置一个onclick事件的触发函数flush function flush(){ window.location.reload(); }