建设信用卡网站登录,网站建设和微信小程序,网络营销策划步骤,短期网页制作培训学校本节主要学习了Mariadb高可用MHA的概述#xff0c;案例如何构建MHA 提示#xff1a;以下是本篇文章正文内容#xff0c;下面案例可供参考
一、概述
1、概念
MHA#xff08;MasterHigh Availability#xff09;是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。… 本节主要学习了Mariadb高可用MHA的概述案例如何构建MHA 提示以下是本篇文章正文内容下面案例可供参考
一、概述
1、概念
MHAMasterHigh Availability是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。
MHA 的出现就是解决MySQL 单点的问题。
MySQL故障切换过程中MHA能做到0-30秒内自动完成故障切换操作。
MHA能在故障切换的过程中最大程度上保证数据的一致性以达到真正意义上的高可用。
2、组成
MHA manager 管理节点
MHA node 数据节点 每个节点上都需要安装
3、特点 自动故障切换过程中MHA试图从宕机的主服务器上保存二进制日志最大程度的保证数据不丢失 使用半同步复制可以大大降低数据丢失的风险如果只有一个slave已经收到了最新的二进制日志MHA可以将最新的二进制日志应用于其他所有的slave服务器上因此可以保证所有节点的数据一致性 目前MHA支持一主多从架构最少三台服务即一主两从
4、工作原理
从宕机崩溃的master 保存二进制日志事件binlog events
识别含有最新的更新slave日志
应用差异的中继日志relay log到其他的slave
应用从master保存的二进制日志事件
提升一个slave为新的master
使其他的slave连接新的master进行复制
二、搭建
1.ssh免密登录提前搭建好基础环境地址闭防火墙等
1.1修改主机名并查看地址
192.168.6.3 mgt 192.168.6.4 master 192.168.6.5 slave1 192.168.6.6 slave2 1.2所有节点配置hosts
192.168.115.3 mgt 192.168.115.4 master 192.168.115.5 slave1 192.168.115.6 slave2
在mgt内配置/etc/hosts 并传输给其他服务器
master slave1 slave2 1.3192.168.115.3
ssh-keygen for i in 4 5 6;do ssh-copy-id root192.168.6.$i;done for i in 6 4 5;do ssh 192.168.6.$i hostname;done或手动 4、5、6、地址依次重复该操作
6 for i in 3 4 5;do ssh 192.168.6.$i hostname;done 5: for i in 6 4 3;do ssh 192.168.6.$i hostname;done 4 for i in 6 3 5;do ssh 192.168.6.$i hostname;done 把 yes 都确定掉 2.主从复制
1、安装mariadb数据库并启动
for i in 4 5 6;do ssh 192.168.6.$i yum install -y mariadb mariadb-server mariadb;done 2、配置主从复制
2.1master
vim /etc/my.cnf [mysqld] server-id 20 log-bin master-bin log-slave-updates true mysql -e grant replication slave on *.* to myslave192.168.6.% identified by 123.com; mysql -e grant all privileges on *.* to mha192.168.6.% identified by 123.com; mysql -e grant all privileges on *.* to mha192.168.6.3 identified by 123.com; mysql -e grant all privileges on *.* to mha192.168.6.5 identified by 123.com; mysql -e grant all privileges on *.* to mha192.168.6.6 identified by 123.com; mysql -e show master status 2.2slave
slave1 server-id30 log-binmaster-bin relay-logrelay-log-bin relay-log-indexrelay-log-bin.index mysql -e grant replication slave on *.* to myslave192.168.6.% identified by 123.com; mysql -e grant all privileges on *.* to mha192.168.6.% identified by 123.com; mysql -e grant all privileges on *.* to mha192.168.6.3 identified by 123.com; mysql -e grant all privileges on *.* to mha192.168.6.5 identified by 123.com; mysql -e grant all privileges on *.* to mha192.168.6.6 identified by 123.com; slave2 server-id31 log-binmaster-bin relay-logrelay-log-bin relay-log-indexrelay-log-bin.index mysql -e grant replication slave on *.* to myslave192.168.6.% identified by 123.com; mysql -e grant all privileges on *.* to mha192.168.6.% identified by 123.com; mysql -e grant all privileges on *.* to mha192.168.6.3 identified by 123.com; mysql -e grant all privileges on *.* to mha192.168.6.5 identified by 123.com; mysql -e grant all privileges on *.* to mha192.168.6.4 identified by 123.com; mysql -e change master to master_host192.168.115.4,master_usermyslave,master_password123.com,master_log_filemaster-bin.000003,master_log_pos1166;
2.3验证 3.MHA安装
所有节点安装perl环境
yum install epel-release -y yum -y install perl-DBD-MySQL perl-ExtUtils-MakeMaker perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager perl-Time-HiRes perl-CPAN node
所有节点安装node tar xf mha4mysql-node-0.57.tar.gz cd mha4mysql-node-0.57 perl Makefile.PL make make install 验证
cd /usr/local/bin—看到脚本就OK manager
tar xf mha4mysql-manager-0.57.tar.gz
cd /root/mha4mysql-manager-0.57
perl Makefile.PL make make install cp sample/scripts/master_ip_failover /usr/local/bin/
cp sample/scripts/master_ip_online_change /usr/local/bin/ 脚本说明 master_ip_failover 自动切换时 VIP 管理的脚本 master_ip_online_change 在线切换时 vip 的管理 power_manager 故障发生后关闭主机的脚本 send_report 因故障切换后发送报警的脚本
配置文件建立
mkdir /etc/masterha
vim /etc/masterha/app1.cnf mkdir /var/log/masterha/app1 测试MHA
masterha_check_ssh --conf/etc/masterha/app1.cnf masterha_check_repl --conf/etc/masterha/app1.cnf 启动命令
nohup masterha_manager --conf/etc/masterha/app1.cnf --remove_dead_master_conf --ignore_last_failover /dev/null /var/log/masterha/app1/manager.log 21 启动时masterIP异常—需要工程手动配置VIP
4.测试 停用master的mariadb服务 地址出现 5.故障恢复
修改app1.cnf启动配置 添加master主机配置信息 分别在slave上重新指定master主机及binlog日志同步信息