MySQL高可用架构MHA部署过程及说明

一、环境准备

MHA架构最少需要三个MySQL节点,一个节点是Manager节点(一般会将Manager安装在单独的节点上),其余Node节点。
注意:如果三个MySQL实例在一个节点上,将无法完成MHA部署。
三个节点信息及角色:

主机名 IP地址 主从角色 MHA角色 server_id 读写
master 192.168.18.130 主库 Manager/Node节点 1 可读可写
slave1 192.168.18.131 从库 Node节点 2 只读
slave2 192.168.18.132 从库 Node节点 3 只读

二、MHA部署过程

2.1、配置各节点互信

在各个节点上生成密钥对:

# ssh-keygen -t rsa

将生成的公钥分发到其他节点(包括节点本身)上:

# ssh-copy-id root@192.168.18.130
# ssh-copy-id root@192.168.18.131
# ssh-copy-id root@192.168.18.132

2.2、构建GTID主从复制

构建GTID而非传统主从复制的原因:GTID主从复制环境中,主库发生的事务,都由唯一的GTID记录,方便故障恢复和数据补偿。
MySQL安装可以参考:CentOS7系统中MySQL5.6安装
主库配置文件:

port=3306
bind_address=0.0.0.0
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
skip_name_resolve      #跳过域名解析;
server_id=1            #主从复制结构中,每个MySQL的server_id必须不同;
log_bin=mysql-bin      #MHA架构中所有节点都必须记录二进制日志;
binlog_format=row
max_binlog_size=256M
expire_logs_days=15
slow_query_log=1
slow_query_log_file=slow.log
long_query_time=1
log_queries_not_using_indexes
sync_binlog=1
gtid_mode=on                    #开启GTID;
enforce_gtid_consistency=true   #强制GTID的一致性;
log_slave_updates=1             #slave更新记入二进制日志binlog;
relay_log_purge=0               #关闭自动清理中继日志;

从库配置文件,除了唯一的server_id,其他与主库配置相同。另外,将从库设置为只读:

……
server_id=2
read_only=1        #将从库设置为只读

配置文件更改之后,启动/重启MySQL。

2.3、主库上创建用于复制的用户

在主库中创建用于主从复制的用户:

mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.18.%' IDENTIFIED BY '123123';

2.4、开启从库复制

首先在从库上建立与主库的连接:

mysql> CHANGE MASTER TO
  MASTER_H
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值