mysql MHA集群

MHA 工作过程:

(1)从崩溃的master保存二进制日志事件

(2)识别含有最新更新的slave

(3)应用差异的中继日志(relay  log)到其他的slave

(4)应用从master保存的二进制日志

(5)提升一个slave为新的master

(6)使其他slave连接新的master进行复制

准备集群环境:(192.168.4.51-56    56作为mha 管理主机51-53作高可用54-55作备份)

1.所有主机安装perl依赖包: yum  -y   install   perl-*

2.所有主机安装 mha-node 包(客户包):  yum  -y  install   mha4mysql-node-0.56-0.el6.noarch.rpm  (自动安装依赖包)

3.在56主机上还要安装mha-manager 包:

tar   -xf   mha4mysql-manager-0.56.tar.gz

cd  mha4mysql-manager-0.56

per  Makefile.PL     (按要求安依赖包)

make

make    install

4.在除56以外主机上授权监控用户:

grant   all    on  *.*    to   root@'%'   identified  by  '123456' ;

5.所有数据节点 互相配置ssh秘钥认证登陆:ssh-ken-gen     (一定要互相测试)

配置集群:

1.在主机和备用主机上开启半同步复制,且设置不自动删除中继日志。

例:在51主机     vim     /etc/my.cnf

relay_log_purge=off                                                      不自动删除中继日志

plugin-load = "rpl_semi_sync_master=semisync_master.so;plugin-load = rpl_semi_sync_slave=semisync_slave.so"

                      rpl_semi_sync_master_enabled=1

                      rpl_semi_sync_slave_enabled=1

  server_id =51

log-bin=master51

binlog-format="mixed"

添加主从同步授权用户: grant  replication   slave  on   *.*  to    repluser@"%"    identified   by "123456"  

在备用节点上设置以51 为主库:

change  master  to  master_host="192.168.4.51",master_user="repluser",master_password="123456",master_log_file="日志名",master_log_pos=主库偏移量;

start    slave;

配置管理主机:

vim /etc/masterha/app1.cnf

[server default]
master_ip_failover_script= /usr/local/bin/master_ip_failover
ssh_user=root
ssh_port=22
repl_user=repluser
repl_password=123456  
user=root
password=123456

[server1]
hostname=192.168.4.51
port=3306
candidate_master=1
[server2]
hostname=192.168.4.52
port=3306
candidate_master=1
[server3]
hostname=192.168.4.53
port=3306
candidate_master=1
[server4]
hostname=192.168.4.54
port=3306
no_master=1
[server5]
hostname=192.168.4.55
port=3306
no_master=1

根据配置文件的设置,在数据库上创建监控用户

测试集群配置:

1.检测各节点间ssh互信通信配置是否ok

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

    结果:All SSH connection tests passed successfully.

2.检测各节点间主从复制是否ok

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

    结果:MySQL Replication Health is OK

启动MHA-Manger:

masterha_manager   --conf=/etc/mha/app1.cnf   --remove_dead_master_conf   --ignore_last_failover

查看状态:

masterha_check_status  --conf=/etc/mha/app1.cnf

停止服务: masterha_stop

测试高可用配置:

修改故障切换脚本:vim  /usr/local/bin/master_ip_failover

  指定vip 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值