mysql 5.7 MHA安装与配置



1.   概述

它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,MHA来保证数据库系统的高可用.在宕机的时间内(通常10—30秒内),完成故障切换,部署MHA,可避免主从一致性问题,节约购买新服务器的费用,不影响服务器性能,易安装,不改变现有部署。

   还支持在线切换,从当前运行master切换到一个新的master上面,只需要很短的时间(0.5-2秒内),此时仅仅阻塞写操作,并不影响读操作,便于主机硬件维护。

 

工作原理

(1)从宕机崩溃的master保存二进制日志事件(binlog events);

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

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

(4)应用从master保存的二进制日志事件(binlog events);

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

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

2.   搭建环境

1.  架构说明:

IP

主机名

数据库ID

类型

192.168.2.51

mysql01

251

MySQL Master + mha-node

192.168.2.52

mysql02

252

Mha-node+ Candidate Slave

192.168.2.53

mysql03

223

Mha-node

192.168.2.54

mysql-mha01

 

mha-manager

 

OS:CentOS 6.9

Mysql:5.7.20

Mha:0.57

2:配置/etc/my.cnf相关参数,在3各节点中分别配置GTID

log-bin=binlog
binlog-format=ROW

log-slave-updates=true

gtid-mode=on

enforce-gtid-consistency=true

master-info-repository=TABLE

relay-log-info-repository=TABLE

sync-master-info=1

slave-parallel-workers=2

binlog-checksum=CRC32

master-verify-checksum=1

slave-sql-verify-checksum=1

binlog-rows-query-log_events=1

 

重新初始化MySQL(非必须,这部是由于自动化脚本无法判定密码,要自动化必须剔除密码)

mysqld --initialize-insecure --user=mysql

service mysqld restart

 

设置root密码,创建复制用户:
mysql> use mysql;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";

mysql> GRANT GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' identified by '123456';

mysql> grant all privileges on *.* to 'mha'@'%' identified by '123456';

mysql> flush privileges;
 

在主导出mysqldump -uroot -p --all-databases --triggers --routines --events > /root/all.sql

在备库导入


3:在mysql2、mysql3配置Gtid复制
CHANGE MASTER TO 
MASTER_HOST = '192.168.2.51',
MASTER_PORT = 3306,
MASTER_USER = 'repl',
MASTER_PASSWORD = '123456',
MASTER_AUTO_POSITION = 1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值