【mha】

MHA作为MySQL故障切换和主从提升的高可用软件,在故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。

  • 从宕机崩溃的master保存二进制日志事件(binlog events);
  • 识别含有最新更新的slave;
  • 应用差异的中继日志(relay log)到其他的slave;
  • 应用从master保存的二进制日志事件(binlog events);
  • 提升一个slave为新的master;
  • 使其他的slave连接新的master进行复制;

 

一、架构概况
192.168.56.101   master
192.168.56.102   slave master
192.168.56.103   slave/mha manager
OS为centos 7.2

版本:MySQL 5.7.18

架构图:

二、安装步骤

1、安装MySQL【略】
2、配置基于组提交的半同步复制
3、配置mha
4、配置keepalive

三、配置基于组提交的半同步复制 

master:
mysql> install plugin rpl_semi_sync_master soname 'semisync_master.so'; --安装 semisync_master.so插件
master my.cnf
[mysqld]
rpl_semi_sync_master_enabled =
rpl_semi_sync_master_timeout = slave:
root@localhost [zw3306]>install plugin rpl_semi_sync_slave soname 'semisync_slave.so'; --安装 semisync_slave.so插件
slave my.cnf
[mysqld]
rpl_semi_sync_slave_enabled = GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'192.168.56.102' IDENTIFIED BY 'XXX';
GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'192.168.56.103' IDENTIFIED BY 'XXX'; #MTS
slave_parallel_type=LOGICAL_CLOCK
slave_parallel_workers=
master_info_repository=TABLE
relay_log_info_repository=TABLE
relay_log_recovery=ON

四、配置mha

1、三节点 ssh 互信配置(root用户)
2、192.168.56.101/192.168.56.102/192.168.56.103

yum install mha4mysql-node-0.54-.el6.noarch.rpm
ln -s /app/mysql/bin/mysql /usr/bin/mysql
ln -s /app/mysql/bin/mysqlbinlog /usr/bin/mysqlbinlog GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'192.168.56.%' IDENTIFIED BY 'repluser';
grant all privileges on *.* to mha_check@'10.78.220.%' identified by 'mha_check';
flush privileges;

3、192.168.56.103

yum install mha4mysql-manager-0.55-.el6.noarch.rpm
mkdir -p /etc/masterha/
vi /etc/masterha/mha.cnf
--参考附件样例
vi /etc/masterha/master_ip_failover
--参考附件样例

4、启动

验证
masterha_check_ssh --conf=/etc/masterha/mha.conf
masterha_check_status --conf=/etc/masterha/mha.conf
masterha_check_repl --conf=/etc/masterha/mha.conf 启动MHA
nohup masterha_manager --conf=/etc/masterha/mha.conf --ignore_fail_on_start >/etc/masterha/mha_manager.log >& &

五、配置keepalive

安装依赖包 :
yum install -y openssl openssl-devel
yum install popt-devel -y
yum -y install gcc automake autoconf libtool make
-----------------------------------------------------------------------------------------------
安装:
tar -zxvf keepalived-1.2..tar.gz
cd keepalived-1.2. ./configure --prefix=/usr/local/keepalived make && make install copy文件到指定目录
cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/ 配置文件
mkdir /etc/keepalived
cd /etc/keepalived [root@master ~]# vi /etc/keepalived/keepalived.conf
! Configuration File forkeepalived
global_defs {
router_id MYSQL_HA #标识,双主相同
}
vrrp_instance VI_1 {
state BACKUP #两台都设置BACKUP
interface eth0
virtual_router_id #主备相同
priority #优先级,backup设置90
advert_int
nopreempt #不主动抢占资源,只在master这台优先级高的设置,backup不设置
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
10.70.195.20
}
} [root@master ~]# /etc/init.d/keepalived start

MySQL mha 高可用集群搭建的更多相关文章

  1. MHA 高可用集群搭建(二)

    MHA 高可用集群搭建安装scp远程控制http://www.cnblogs.com/kevingrace/p/5662839.html yum install openssh-clients mys ...

  2. MySQL MHA 高可用集群部署及故障切换

    MySQL MHA 高可用集群部署及故障切换 1.概念 2.搭建MySQL + MHA 1.概念: a)MHA概念 : MHA(MasterHigh Availability)是一套优秀的MySQL高 ...

  3. Mysql MHA高可用集群架构

    ** 记得之前发过一篇文章,名字叫<浅析MySQL高可用架构>,之后一直有很多小伙伴在公众号后台或其它渠道问我,何时有相关的深入配置管理文章出来,因此,民工哥,也将对前面的各类架构逐一进行 ...

  4. MySQL MHA高可用集群部署及故障切换

    一.MHA概念MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件.MHA 的出现就是解决MySQL 单点的问题.MySQL故障切换过程中 ...

  5. MySQL数据库高可用集群搭建-PXC集群部署

    Percona XtraDB Cluster(下文简称PXC集群)提供了MySQL高可用的一种实现方法.集群是有节点组成的,推荐配置至少3个节点,但是也可以运行在2个节点上. PXC原理描述: 分布式 ...

  6. MySQL PXC 高可用集群搭建

    一些名词介绍: WS:write set 写数据集    IST: Incremental State Transfer 增量同步    SST:State Snapshot Transfer 全量同 ...

  7. Mysql+MHA高可用集群

    http://www.ttlsa.com/mysql/step-one-by-one-deploy-mysql-mha-cluster/

  8. (转)基于keepalived搭建MySQL的高可用集群

    基于keepalived搭建MySQL的高可用集群  原文:http://www.cnblogs.com/ivictor/p/5522383.html MySQL的高可用方案一般有如下几种: keep ...

  9. Hadoop 3.1.2(HA)+Zookeeper3.4.13+Hbase1.4.9(HA)+Hive2.3.4+Spark2.4.0(HA)高可用集群搭建

    目录 目录 1.前言 1.1.什么是 Hadoop? 1.1.1.什么是 YARN? 1.2.什么是 Zookeeper? 1.3.什么是 Hbase? 1.4.什么是 Hive 1.5.什么是 Sp ...

随机推荐

  1. cisco anyconnect linux

    cisco anyconnect linux 官方的下载需要登录验证,比较麻烦,可以从这个地方直接下载使用.支持ubuntu,centos. cisco anyconnect vpn client我本 ...

  2. docker swarm overlay stack 服务部署记录

    项目xxx(后端),xxx-ui前端(前后端分离的项目) 依赖mysql,elasticsearch.分别制作了四个镜像来做这件事.希望可以制作跨主机的部署,使用了swarm,以下是学习记录. 参考 ...

  3. Ubuntu14.04+caffe+cuda7.5 环境搭建以及MNIST数据集的训练与测试

    Ubuntu14.04+caffe+cuda 环境搭建以及MNIST数据集的训练与测试 一.ubuntu14.04的安装: ubuntu的安装是一件十分简单的事情,这里给出一个参考教程: http:/ ...

  4. WebSocket使用SuperWebSocket结合WindowsService实现实时消息

    SuperWebSocket在WebService中的应用 最开始使用是寄托在IIS中,发布之后测试时半个小时就会断开,所以改为WindowsService 1. 新建Windows服务项目[Test ...

  5. Centos编译安装 LAMP (apache-2.4.7 + mysql-5.5.35 + php 5.5.8)+ Redis

    转载地址:http://www.cnblogs.com/whoamme/p/3530056.html 软件源代码包存放位置:/usr/local/src 源码包编译安装位置:/usr/local/软件 ...

  6. TCP/IP原理简述

    TCP/IP与OSI TCP/IP工作在第4层,在TCP/IP协议簇中,有两个不同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议),它们分别承载不同的应用.TCP协议提供可靠的服务,UDP ...

  7. JS变量比较陷阱

    我们觉得JS简单是因为它是弱类型的语言,不像java那样对对类型那样敏感,但js也有其不尽人意的地方. 在java中我们无法将数字与字符串直接比较,而js能,而且能直接转换成数值比较,但是如果是字符串 ...

  8. MR案例:Reduce-Join

    问题描述:两种类型输入文件:address(地址)和company(公司)进行一对多的关联查询,得到地址名(例如:Beijing)与公司名(例如:Beijing JD.Beijing Red Star ...

  9. 移植gdb到海思3716板子的方法【转】

    本文转载自:https://blog.csdn.net/yuhengyue/article/details/78414403 一,移植方法 环境:ubuntu12.04 交叉编译工具链路径:/opt/ ...

  10. java 普通内部类和静态内部类

    区别1: 普通内部类实例化后的对象持有外部类的引用,在非静态类内部可以访问外部类的成员:静态内部类实例化不持有外部对象引用,不能访问外面的方法和成员: 从耦合度上来讲,普通内部类跟外部类耦合程度很高, ...