MHA高可用配置及故障切换

MHA高可用配置及故障切换

1.什么是MHA
MHA (MasterHigh Availability) 是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。
MHA的出现就是解决MySQL单点的问题。
MySQL故障切换过程云平台直播课程教学免费中,MHA能做到0-30秒内自动完成故障切换操作。
MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正意义上的高可用。

2.MHA的组成
●MHANode(数据节点)
MHA Node运行在每台MySQL服务器上。

●MHA Manager (管理节点)
MHA Manager可以单独部署在一台独立的机器上,管理多个master-slav服务器的作用e 集群:也可以部署在一台slave 节点上。
MHA Manager会定时探测集群中的master节点服务器操作系统银河麒麟。当master 出现故障时,它可以自动将最新数mysql增删改查语句据的slperl是什么意思ave 提升为新的master,然后将所有其他的slave 重新指向新的master.整个故障转移过程对应用程序完全透明。

3.MHA的特点
●自动故障切换过程中,MHA试图从宕机的主服务器上保存二进制日志,最云平台大程度的保证数据不丢失
●使用半同步复制,可以大大降低数据丢失的风险,如果只有一个slave已经收到了最新的二进制perlite日志,MHA可 以将最新的二进制日志应用于其他所服务器地址有的slave服务器.上,因此可以保证所有节点的数据一致性
●目前MHA支持一主多 从架构,最少三台服务,即一主两从

搭建MySQL MHA
实验思路:

1.MHA架构
1)数据库安装
2)一主两从
3) MHA搭建

2.故障模拟
1)主库失效
2)备选主库成为主库
3)原故障主库恢复重新加入到MHA成为从库

MHA manager节点服务器: Cent0S7.4(64 位) manager/192.168.80.13 ,安装MHA node和manager 组件
Master节点服务器: Cent0S7.4(64 位) mysq11/192.168.80.10 ,安装mperlysq15.7、 MHA node 组件
Slave1、节点服务器: CentOS7.4(64 位) mysq12/192.168.80.11 ,安云计算定义装mysq15.7、 MHA nod云计算大数据e组件
Slave2节点云平台中小学生免费课程服务器:mysql面试题 CentOS7.4(64 位) mysq13/192.168.80.12 ,安装mysq15.7、 MHA nodeperl怎么读组件

systemctl stop firewalld
systemctl disable服务器系统 firewalld
setenforce 0

1.Master、 Slave1、 Slave2 节点.上安装mysq15.7

2.修改Master、mysql Slmysql安装配置教程avel、 Slave2 节点的主机名
hostnamectl set -hostname Mysql1
hostnamectl set -hostname Mysq12
hostnamectl set -hostnmysql怎么读ame Mysq13

3.修改Master、Slavel、Slave2 节点的Mysql主配置文件/etc/my. cnf
##Master节点#云平台山东省教育平台#
vim /etc/my.cnf
[mysq1d]
serverperlman-id = 1
log_ bin = mamysql创建表ster-bin
log- sl云计算大数据ave-updates = true

sperlocutionaryystemctl restart mysqld

##Slavel、Slave2 节点##
vim /etc/my. cnf
server-id = 2 #三台服务器的server-id 不能一-样perl安装教程
lo云平台免费网课g_ bin = master-bin
relay-log = relay- log-bin
relay-log-index = slave- relay-bin. index

systemctl restart mysqld

4.在Master、 Slavel、 Slave2 节点上都创建两个软链接
In -s /usr/local/mysq1/云计算定义bin/mysq1 /usr/sbiperla是什么牌子n/
In -s /usr/1ocal/mysql/bin/mysq1binlog /usr/sbin/

5.配置mysql 一主两从
(1)所有数据库节点进行mysql授权
mysq1 -uroot- -P
gr云计算技术与应用专业ant replication slperlocutionaryave on . to 'my服务器租用slave'@'192.168.80.8' identified by '123' ; #从数据库同步使用
grant all privileges on . to 'mha'@'192.168.80.8' identified by 'manager'; #manager使用

gra云计算分为哪些类型nt all privileges on . to 'mha'@'Mysq11' identified by 'manager'; #防止从云计算技术与应用专业库通过主机名连接不上主库
grant all云计算的特点 privileges onto 'mha'@ 'Mysq12' identified by ' manager' ;服务器租用多少钱一年
grant all privileg服务器租用es on * .to 'mha'@'Mysql3' identified by ' manager' ;
flush云平台 privileges;

(2)在Master节点查看二进制文件和云计算的特点同步点
show master status;

+------+---------------------------------+---------------------------+----------------------------+

File PositionBinlog_Do_DB Binloperlag_Ignore_DB Executed_Gtid_Set
master-biperlan. 000001 1215

(3)在Slavel. Slave2 节点执行同步操作
change master to
master hos服务器操作系统银河麒麟t='192.16mysql8. 80.10' ,master user= ' myslave',master passwor云计算d= '123' ,master log file云平台=' master -bin.000001' ,master log_ po
s=1215;

start slave;

(mysql密码忘记了怎么办4)在云平台登录入口Slavel、Slave2 节点查看数据同步结果
show slave status\G
/mysql/确保I0和SQL 线程都是Yesmysql创建表, 代表同步正常。
Slave服务器系统 IO Running: Yes
Slave_ SQL_Running: Yes

(5)两个从库必须设置为只读模式:
set global read_ only=1;

(6)插入数据测试数据库同步
##在Master主库插入条数据,测试是否同步##
create database test db;
use test_ dmysql安装b;perlite
create tabperl语言是干嘛的le test(id int) ;
insert into test(id) values (1) ;

6.安装MHA软件
(1)所有服务器上都安装MHAperl怎么读依赖的环境,首先安装epel源
yum install epel-release --nogpgcheck -y

yum install -云计算是什么意思y perl-DBD-MySQL \
pemysql数据库命令大全rl-Config-Tiny \
perl-Log-Dispatch'
perl-Para云平台llel- ForkManager \
perl-ExtUtils-CBuilder \
perl-ExtUtils-MakeMaker \
perl-CPAN

(2)安装MHA软件包,先在所有服务器上必须先安装node组件
对于每个操作系统版本不一-样,这里服务器租用多少钱一年CentOS7.4必须选云计算技术与应用择0.57 版本。
在所有服务器上必须先安装node组件,最后在MHA- -manager节点上安装manager 组件,因为manager 依赖node组件。
cd /opt
tar zxvf mha 4mysql-node-0.57.tar.gz
cperla是什么牌子d mha 4mysql -node-0.57
perl Makefile. PL
make && make install

6.安云计算技术与应用装MHA软件
(1)所有服务器上都安装MHA依赖的环境,首先安装epel源
yum install epel服务器怎么搭建-release --nogpgcheck -y
yum install -y perl-DBD-MySQL \
perl-Config-Tiny \
perl-Log-Dispatch'
perl-Parallel- ForkMa云计算技术与应用nager \
perl-云计算定义ExtUti云计算是什么ls-CBuilder \
perl-ExtUtils-MakeMaker \
perl-CPAN
(2)安装MHA软件包,先在所有服务器上必须先安装node组件
对于每个操作系统版本不一-样,这里CentOS7.4必须选择0.57 版本。
在所有服务器上必perlman须先安装node组件,最后在MHA-云平台教育登录 -manager节点上安装manager 组件,因为manager 依赖node组件。
cd /opt
tar zxvperl是什么意思f mha 4mysql-node-0.57.tar.gz
cd mha 4mysql -node-0.57
perl Makefile. PL
make && make install

(3)在MHA manager 节点.上安装manager 组件云平台中小学生免费课程
cd /opt
tar zxvf mha4mysql -manager-0.57. tar.gz
cd mha 4mysql -manager-0.57
perlmysql面试题 Makefil服务器e.PL
make && make iperlanstall

#managmysql数据库命令大全er组件安装后在/usr/local/bin下而会生成几个工具,主要包括以下perl几个:
masterha check ssh检查MHA的SSH配置状况
masterha check repl检查MySQL复制状况
masterha manger启动manager的脚本
masterha
check status检测当前MHA运行状态
masterha master
monitor 检测m服务器配置aster 是否宕机
masterha master switch控制故障转移(自动或者手动)
masterha
conf host 添加或删除配置的server 信息
masterha_ stop关 闭manager

#node组件安装后也会在/usr/local/bin下面会生成几个脚本(这些工具通常由MHAManager 的脚本触发,无需人为操作)主要如下:
save binary logs 保存和复制master 的perl怎么读二进制日志
apply_ diff_relaylogs识别差异的中继日perl语言是干嘛的志事件并将其差异的事件应用于其他的slave
filter
mysqlbinlog 去除不必要的ROLLBACK 事件(云平台MHA 已不再使用这个工具)
purge relay logs 清除中继日志(不会阻塞SQL 线程)

7.在所有服务器上配置无云计算定义密码认证
(1)在manager节点上配置到所有数云计算最简单解释据库节点perlman的无密码认证
ssh- keygen -t rsa #一路按perl脚本回车键
ssh-copy-id 192.168.80.10
ssh-copy-id 192.168.80.11
ssh-copy-id 192.168.80.12

(2)在mysql1.上配置到数据库节点 mysq12 和mysql3 的无密码认证
ssh- keygen -t rsa
ssh-copy-id 192.168.80.11
ssh-copy-云计算最简单解释id 192.168.云计算大数据80.12

(3)在mysq12. 上配置perla是什么牌子到数据库节点mysq11和mysq13的无云计算是什么意思密码认证
ssh-keygen -t rsa
ssh-copy-id云平台山东省教育平台 192.168.80.10
ssh-copy-id 192.168.80.12

(4)在mysq13上配置到数服务器是什么据库节点mysql1 和mysq12 的无密码认证
ssh- keygen -t rsa
ssh-co服务器py-id 192.168perl是什么意思.80.10
ssh-copy-id 192.168.80.11

8.在mana服务器的作用ger 节点上配置MHA
(1)在manager节点上复制相关脚本到/usr/loca服务器的作用l/bin目录
cp -rp /opt/mperlaha4mysql -manager-0. 57/samples/perlitescripts /usr/local/bin
//拷贝云计算是什么后会有四个执行文服务器租用
11 /usr/local/bin/scripts/

mastermysql面试题 ip failover #自动切换时VIP管理的脚本mysql索引
master ip online chmysql数据库命令大全ange #在线切换时vip的管理服务器租用多少钱一年
power
manager #故障发生后关闭主机的脚本
send_ report #因mysql安装故障切换后发送报警的脚本

(2)复制上述的自动切换时VIP管理的脚本到/usr/l服务器地址oca云平台登录l/服务器配置bmysql面试题in 目录,这里使用master ip failover脚本来管理VIP和故障切换
p /usr/local/bin/scripts服务器怎么搭建/master_ ip failover /usr/local/bin

(3)修改内容如下: (perlman删除原有内容, 直接复制并修改vip相关参数。可在拷贝前输入:set paste 解决vim粘贴乱序问题)
vim /usr/1ocal/bin/master ip failovermysql安装配置教程
#!/usr/bin/env perl
use strictmysql怎么读;
use w云平台免费网课arniperlocutionaryngs FATAL => 'all';

use Getopt: :Long;

my (
$perlcommand, $ssh user, $orig master host, $orig master ip,
$orig
master port, $new master host, Sneperl脚本w master ip, $n云平台登录入口ew master_ port
);

IN SCRIPT TEST-===/sbin/云平台免费网课ifconfig ens33:1 down== /sbin/ifconfig ens33:1 192.168. 80.200===

Checking the Status of the script.. OK
T云计算ue Nov云计算技术与应用专业 26 23:1云平台直播课程教学免费0:29 2020 - [info] OK.
Tue Nov 26 23:10:29 2020-[warning] shutdown_ script is not defined.
Tue Nov 26 23服务器:云平台登录入口10:29 2020 - [info] Got exit code 0 (Not master dead) .

MySQL Replication Health is OK.

12.在manager 节点.上启动MHA
nohup masterha manager --conf= /etc/masterha/app1云计算导论.cnf --remove dead master conf -- ignore last failover < /dev/null >/var/ 1og/ masterha/ app1/manager.1og 2>服务器系统&1 &

-- remove dead master conf:该参数代表当发生主从切换后,老的主库的ip 将会从配置文件中移除。
-- manger lperliteog: 日志存放位置。
-- ignore last
fail云平台over: 在缺省情况下,如果MHA检测到连续发生宕机,且两次宕机间隔不足8小时的话,则不会进行Failover,之 所以这样限制是为了避免ping-pong 效应。该参数代表忽略上次MHA云平台山东省教育平台触发切换产生的文件,默认情况下,MHA发生切换后会在日志记录,也就是上面设置的日志app1. f服务器地址ailover. complete文件,下 次再次切换的时候如果发现该目录下存在该文件将不允mysql增删改查语句许触发切换,除非在第一次切换云计算是什么后收到删除该文件,为了方便,云计算技术与应用专业这里设置为--ignore_ last_failover.

mysql数据库集群架构,如何保障高可用?
一主两/三从,高可用方案用的MHA、 MMM,
M云平台山东省教育平台HA架构会在所有的Mysq1服务器.上安装mha node组件,还会在一-台独立的服务器.上/某台slave节点.上安装mha manger云计算最简单解释组件manger组件会定时探测集群中的master节点是否存活,如果master 故障,manger就会 自动云平台山东省教育平台提升一台具有 最新数据的slave成为集群中新的master,然后会将其它的slave节点重新指向这个新的Master,完成新的主从同步,从而达到Mysq1集群中的master的高可用和数据的一致性

MHA搭建步骤
1配置主从复制
2.先在所有节点上安装mha node组件,然后 再在manage节点.上安装mha manage组件
3所有节点上配置ssh密钥对实现免密登录
4配置故云计算技术与应用专业障切换脚本和mhamanage配置文云平台
5.使用mha健康检查脚本检查各节点ssh连接是否云平台登录正常,mysql群集主从复制是否正常
6使用masterha_ m服务器anage 脚本启动mha manage 进程

当发生云平台直播课程教学免费故障切换之后,mhamana云计算ge进程会自动退出:在配置文件中perlman移除老的主库配置