四台机器 一台master 两台slave 一台节点manager
Yum -y install mariadb mariadb-server 三台机器安装MARIADB数据库
Vim /etc/my.conf 进入数据库配置主从
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
server-id=1 配置为主
log_bin=mysql-bin 开启二进制
relay_log=mysql-relay 开启中继日志
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d 保存退出
Systemctl start mariadb 开启数据库
Mysql 登入数据库
Grant replication slave on *.* to ‘tom’@’%’ identified by ‘123’ ; 授权远程tom用户密码为123
Show master status ; 查看主库的pos和file线程状态
Vim /etc/my.conf 进入从库的my.conf配置文件
server-id=2 从库server-id往后排数3就写34就写4 其他行不变
log_bin=mysql-bin
relay_log=mysql-relay
#是否自动清空不再需要中继日志
relay_log_purge = 0
#使得更新的数据写进二进制日志中
log_slave_updates = 1
#启用只读属性
read_only = ON 保存退出
Systemctl start mariadb 开启数据库
Mysql 进入数据库
Grant replication slave on *.* to ‘tom’@’%’ identified by ‘123’ ; 授权远程tom用户密码为123
Change master to master_host=’主库IP’,master_user=’tom’,master_password=’123’,master_log_file=’master-bin.000003’,master_log-pos=382 ; 授权用户配置从主连接
Start slave ; 开启slave
Show slave status \G ; 查看从主状态
看到双YES代表主从连接成功
从配置完成开始配置MHA前提条件免密
Ssh-keygen 疯狂回车
Ssh-copy-id root@输入主机从机和MANAGER的IP地址 输入yes和要登陆的服务器ROOT密码
Grant all on *.* to ‘mhaadmin’@’%’ identified by ‘123’ ; 主库授权一个MHA用的账户
Manager节点安装mairadb和mariadb-serve启动不配置 上传node和manager包
主从数据库只上传node包RPM安装node包
Rpm -ivh mha4mysql-node-0.56-0.el6.noarch.rpm
Manager节点安装缺少依赖环境
yum install perl-DBD-mysql perl-DBI yum安装node包依赖环境
rpm -ivh mha4mysql-node-0.56-0.el6.noarch.rpm node包rpm安装
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker perl-Config-Tiny perl-Log-Dispatch-* perl-Parallel-ForkManager yum安装manager包依赖环境
rpm -ivh mha4mysql-manager-0.56-0.el6.noarch.rpm rpm安装manager
mkdir /etc/mha_master 创建管理节点文件目录
vim /etc/mha_master/mha.cnf 写入配置管理文件
[server default]
user=mhaadmin
password=123
manager_workdir=/etc/mha_master/app1
manager_log=/etc/mha_master/manager.log
remote_workdir=/mydata/mha_master/app1
ssh_user=root
repl_user=tom
repl_password=123
ping_interval=1
[server1]
hostname=192.168.124.177 第一台为主数据库IP
ssh_port=22
candidate_master=1
[server2]
hostname=192.168.124.178 从数据库slave1 IP
ssh_port=22
candidate_master=1
[server3]
hostname=192.168.124.179 从数据库slave2 IP
ssh_port=22
candidate_master=1
管理节点manager测试ssh连通性
masterha_check_ssh -conf=/etc/mha_master/mha.cnf
结尾出现 successfully 测试成功 !
检测MySQL replication是否正常
masterha_check_repl --conf=/etc/mha_master/mha.cnf
结尾出现 is OK 测试成功
启动MHA
nohup masterha_manager --conf=/etc/mha_master/mha.cnf &> /etc/mha_master/manager.log &
代码执行后出现如下结果,则为启动成功
检查master节点状态
masterha_check_status --conf=/etc/mha_master/mha.cnf
结尾出现master数据库Ip则为启动成功
打开主数据库,关闭数据库
Systemctl stop mariadb