MySQL 运维 - MHA高可用集群部署 | 故障切换 | 超详细

一、MHA概述

HHA可以实现单点故障切换和主从复制[0到30秒内自动完成故障切换]当主服务器挂掉后备用的就会顶替,为抢救主服务器争取时间
故障自动切换的过程中,MHA会试图从宕机的Master上保存二进制日志最大程度的保证数据不丢失,并采用半同步复制,可以大大降低数据丢失的风险,如果只有一个slave已经收到了最新的二进制日志,MHA就可以将最新的二进制日志应用于其他所有的slave服务器上,因此也可以保证所有节点的数据一致性

二、MHA的组成

MHA Node数据节点
运行在每台MySQL服务器上
MHA Manager管理节点
可以单独部署在一台独立的机器上或一台slave节点上并管理多个master-slave集群
它会不定期对集群中的master节点巡检,当发现master出现故障,可以自动将最小数据的
slave提升为新的master,然后将所有其他的slave重写指向新的master

三、故障场景

虽然做了主从负载均衡但是无法实现高可用

四、开始部署

主机名 主机 操作系统 IP 地址 主要软件
CentOS 7-5 MHAmanager CentOS 7 192.168.0.50 MHAnode组件、MHAmanager组件
CentOS 7-1 MySQL1 CentOS 7 192.168.0.10 mysql-server、MHAnode组件
CentOS 7-2 MySQL2 CentOS 7 192.168.0.20 mysql-server、MHAnode组件
CengOS 7-3 MySQL3 CentOS 7 192.168.0.30 mysql-server、MHAnode组件

1.修改配置文件

修改三台MySQL的主配置文件
Master主机

vim /etc/my.cnf

[mysqld]
server-id = 10
log_bin = master-bin
log-slave-updates = true

systemctl restart mysqld

ln -s /usr/local/mysql/bin/mysql /usr/sbin/
ln -s /usr/local/mysql/bin/mysqlbinlog /usr/sbin/
#创建 mysql 命令与 mysql 日志文件的软链接,便于系统识别

Slave主机

server-id = 20
#server-id = 30 Slave2
log_bin = master-bin
relay-log = relay-log-bin
relay-log-index = slave-relay-bin.index

systemctl restart mysqld

ln -s /usr/local/mysql/bin/mysql /usr/sbin/
ln -s /usr/local/mysql/bin/mysqlbinlog /usr/sbin/

2.配置一主两从

对所有的MySQL服务器进行授权

mysql -uroot -p

#允许192.168.0的网段都可以进行从服务器的复制操作
grant replication slave on *.* to 'myslave'@'192.168.0.%' identified by '123456';
#允许用户fox对192.168.0网段内所有数据库执行任何操作
grant all privileges on *.* to 'fox'@'192.168.0.%' identified by '123456';

grant all privileges on *.* to 'fox'@'mysql1' identified by '123456';
grant all privileges on *.* to 'fox'@'mysql2' identified by '123456';
grant all privileges on *.* to 'fox'@'mysql3' identified by '123456';

flush privileges;

2.1 查看主服务器状态

#二进制和偏移量一定要记住
show master status;

3.配置Slave主服务器信息

change master to master_host='192.168.0.10',master_user='myslave',master_password='123456',master_log_file='master-bin.000001',master_log_pos=1743;

start slave;

show slave status\G

3.1 测试主从复制

Master

create database bbs;


Slaves

show databses;

4.安装MHA

所有服务器都安装MHA和EPEL

yum 
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值