准备服务器阶段
准备四台虚拟机,关闭防火墙及selinux
192.168.181.130 manager
192.168.181.142 mysql主
192.168.181.168 slave1
192.168.181.169 slave2
免密操作
130,142,168,169
ssh-keygen
ssh-copy-id


mysql安装及配置文件的修改
142,168,169
yum -y install mariadb mariadb-server
142(master)配置文件的修改
vim /etc/my.cnf

168,169(slave1,slave2)的修改


开启mariadb
systemctl start mariadb
做主从复制
142(master)

168,169(slave1,slave2)


142,168,169(master,slaves)
grant all privileges on . to ‘tom’@‘192.168.181.%’ identified by ‘123’;

时间同步
130,142,168,169(all)


node节点安装
130,142,168,169(all)
yum -y install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker perl-DBD-MySQL perl-devel perl-CPAN
上传mha的node源码包
mha4mysql-node-0.57.tar.gz (可去自行下载)
mkdir /etc/mha
tar zxf mha4mysql-node-0.57.tar.gz -C /etc/mha
mv /etc/mha/mha4mysql-node-0.57/ /etc/mha/node
cd /etc/mha/node
perl Makefile.PL
make && make install

注意:编译安装之前做好时间同步,不然会报错
manager节点安装
130(manager)
yum -y install epel-release --nogpgcheck

yum -y install perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager perl-Time-HiRes
上传mha的manager的源码包
mha4mysql-manager-0.57.tar.gz (自行下载)
tar zxf mha4mysql-manager-0.57.tar.gz -C /etc/mha
mv /etc/mha/mha4mysql-manager-0.57/ /etc/mha/manager
cd /etc/mha/manager
perl Makefile.PL
make && make install

修改manager的配置文件

[server default]
manager_workdir=/etc/mha/app1
manager_log=/etc/mha/app1/manager.log
master_binlog_dir="/var/lib/mysql"

本文详细介绍了在四台CentOS服务器上搭建MHA(MySQL High Availability)架构的过程,包括免密操作、MySQL/MariaDB安装配置、主从复制、时间同步、node和manager节点安装、脚本配置,以及故障转移和主从切换的测试,确保数据库的高可用性和故障恢复能力。
最低0.47元/天 解锁文章
675





