汕头网站推广seo,抖音个人主页模板,怎么做点击图片跳转网站,做网站价格差异很大文章目录 前言一、概述1.概念2.组成3.特点4.工作原理5.优点#xff1a; 二、各节点及其ip地址三、构建MHA1.ssh免密登录2.构建mysql主从复制#xff08;一#xff09;安装mariadb数据库并启动#xff08;二#xff09;master服务器#xff08;三#xff09;slave服务器 二、各节点及其ip地址三、构建MHA1.ssh免密登录2.构建mysql主从复制一安装mariadb数据库并启动二master服务器三slave服务器四验证是否实现主从复制 3.MHA安装一所有节点安装perl环境二所有节点安装node包 4.测试 总结 前言
本篇将简述的内容Linux系统下的Mariadb高可用–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进行复制
5.优点
MHA作为一个开源的高可用性解决方案具有以下优点
简单易用安装和配置MHA非常简单只需几个简单的步骤即可完成。功能强大MHA可以自动监控主从复制的状态并在主节点故障时自动切换到备用节点。稳定可靠MHA经过多年的实践和优化已经在许多生产环境中得到了验证具有较高的稳定性和可靠性。
二、各节点及其ip地址
managernodenodenodemgtmasterslave1slave2192.168.115.3192.168.115.4192.168.115.5192.168.115.6
三、构建MHA
要求 构建mysql一主两从复制一台mgt服务 前期准备 为了方便操作可先更改主机名 hostnamectl set-hostname 主机名 随后在本地hosts文件内分别 添加ip地址对应其主机名
1.ssh免密登录
四台主机各自免密登陆 获取密钥并将密钥传送至其他主机
192.168.115.3ssh-keygen-for i in 4 5 6;do ssh-copy-id root192.168.115.$i;done192.168.115.4ssh-keygen-for i in 3 5 6;do ssh-copy-id root192.168.115.$i;done192.168.115.5ssh-keygen-for i in 4 3 6;do ssh-copy-id root192.168.115.$i;done192.168.115.6ssh-keygen-for i in 4 5 3;do ssh-copy-id root192.168.115.$i;done 2.构建mysql主从复制
一安装mariadb数据库并启动
for i in 4 5 6;do ssh 192.168.115.$i yum install -y mariadb mariadb-server mariadb;done
二master服务器
修改配置文件开启二进制日志文件
vim /etc/my.cnf[mysqld]
server-id 20
log-bin master-bin
log-slave-updates true启动服务
systemctl start mariadb做用户赋权
mysql -e grant replication slave on *.* to myslave192.168.115.% identified by 123.com;
mysql -e grant all privileges on *.* to mha192.168.115.% identified by 123.com;查看主机状态
mysql -e show master status;三slave服务器
vim /etc/m.cfnserver-id30
log-binmaster-bin
relay-logrelay-log-bin
relay-log-indexrelay-log-bin.index也做用户赋权
mysql -e grant replication slave on *.* to myslave192.168.115.% identified by 123.com;
mysql -e grant all privileges on *.* to mha192.168.115.% identified by 123.com;在Slave服务器授权启动从库进行主从库数据同步
mysql -e change master to master_host192.168.115.4,master_usermyslave,master_password123.com,master_log_filemaster-bin.000003,master_log_pos554;四验证是否实现主从复制
master
mysql -e create database jx;slave
mysql -e show databases;从服务器出现新建库----jx即说明主从复制搭建成功
3.MHA安装
一所有节点安装perl环境
更新epel源至最新版本一致即可
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包 tar xf mha4mysql-node-0.57.tar.gzcd mha4mysql-node-0.57perl Makefile.PL make make install验证 cd /usr/local/bin 看到脚本就OK
只有mgt安装manager包
tar xf mha4mysql-manager-0.57.tar.gz
cd /root/mha4mysql-manager-0.57
perl Makefile.PL make make install
cp samples/scripts/master_ip_failover /usr/local/bin/
cp samples/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 查看是否运行 4.测试
停用master的mariadb服务
systemctl stop mariadb查看 /var/log/masterha/app1/manager.log 可发现 已启动自动非交互式故障转移。
能看到区域ip漂移到slave1服务器上 slave1
slave2 可以看到 master服务down掉后 slave1充当主服务器 slave2依旧为从服务器 依旧可实现主从复制 总结
通过使用MHA我们可以在Linux系统下实现Mariadb的高可用性提高数据库的稳定性和可靠性。MHA具有简单易用、功能强大、稳定可靠等特点是一个值得推荐的高可用性解决方案。