一版本信息
系统环境:CentOS 6.5 X64
MHA软件版本:
mha4mysql-manager-0.56.tar.gz
mha4mysql-node-0.56.tar.gz
MySQL版本:
Percona-Server-5.6.22-rel71.0-726.Linux.x86_64.tar.gz
二安装步骤
前提条件,主从架构(2.8.19支持一主一从架构,本文不涉及主从架构的搭建)
(一)安装node节点
(本配置在每个DB节点上进行操作)
1.安装软件支持包
yum -y install perl-ExtUtils-MakeMakerperl-ExtUtils-CBuilder perl-CPAN perl-DBI perl-DBD-MySQL
2.安装软件
perl Makefile.PL
make && make install
(二)安装manager
manager若独立部署在单独服务器则同样需要安装node,并且先安装node之后在安装manager
1.安装软件支持包
yum -y install perl-Time-HiResperl-Config-Tiny
cpan -i Parallel::ForkManager #中间需要交互操作输入yes(需要解决如何进行非交互方式安装,以便自动安装)
cpan -i Log::Dispatch
2.编辑配置文件
# mkdir /etc/masterha
# mkdir -p /masterha/app1
# cp samples/conf/* /etc/masterha/
# cat /etc/masterha/app1.cnf
[server default]
manager_workdir=/masterha/app1
manager_log=/masterha/app1/manager.log
user=mha
password=123456
ssh_user=root
repl_user=repl
repl_password=654321
ping_interval=1
[server1]
hostname=172.16.52.130
candidate_master=1 #设置提升级别,若每个都为1,则按照配置顺序进行故障转移主库的提升
master_binlog_dir="/usr/local/mysql/data" #为主库的binlog的存放路径
[server2]
hostname=172.16.52.131
candidate_master=1
master_binlog_dir="/usr/local/mysql/data"
[server3]
hostname=172.16.52.132
candidate_master=1
master_binlog_dir="/usr/local/mysql/data”
说明:
1)master_binlog_dir为主库对应的binlog日志存放路径
(三)无密登陆
配置manager和node的各个ssh相互之间无密码登陆,每个DB都需配置
ssh-keygen
ssh-copy-id -i IP
(四)数据库授权
对每个DB进行授权,(各个节点包括manager均需配置)
grant all on *.* [email protected]‘172.16.52.%‘ identified by ‘123456‘;
flush privileges;
为保障后续的快速切换,同样在每个DB上进行复制用户授权:
GRANT REPLICATION SLAVE ON *.* TO‘repl‘@‘172.16.52.%‘ IDENTIFIED BY ‘654321‘;
flush privileges;
(五)测试ssh连接
masterha_check_ssh --conf=/etc/masterha/app1.cnf
(六)测试主从同步
masterha_check_repl --conf=/etc/masterha/app1.cnf
(七)启停管理节点进程
启动管理节点进程
nohup masterha_manager --conf=/etc/masterha/app1.cnf--ignore_last_failover &>/dev/null &
关闭管理节点进程
masterha_stop –conf=/etc/masterha/app1.cnf
(八)日志查看
tail-f /masterha/app1/manager.log
(九)快速切换
通过日志过滤,进行故障主库快速切换从库。
grep –i “change” /masterha/app 1/manager.log #以最后一条change master为准
三其他
MHA每次故障转移后,进程都会停止,需要手动进行重新启动该进程,若当掉的主库没有进行从库切换,重新复制新主库,则需要更改manager的配置文件,进行进程重新启动,否则不用。