主机的配置
192.168.80.90 | sjk1 主库 |
---|---|
192.168.80.91 | sjk2 从库 |
192.168.80.92 | sjk3 从库 |
大致的结构图
1.配置关键的程序软连接
ln -s /opt/mysql/bin/mysqlbinlog /usr/bin/mysqlbinlog
ln -s /opt/mysql/bin/mysql /usr/bin/mysql
2. 配置互信
sjk1 sjk2 sjk3
rm -rf /root/.ssh
sjk1:
ssh-keygen
cd /root/.ssh
mv id_rsa.pub authorized_keys
scp -r /root/.ssh 192.168.80.91:/root
scp -r /root/.ssh 192.168.80.92:/root
验证,三个节点
ssh 192.168.80.90 date
ssh 192.168.80.91 date
ssh 192.168.80.92 date
3. 软件包的安装
上传软件包
https://pan.baidu.com/s/1NykMZVhRMe8o1K_jOiO9Kg
提取码:8h07
[root@sjk1 mha]# unzip MHA-2019-6.28.zip
Archive: MHA-2019-6.28.zip
inflating: Atlas-2.2.1.el6.x86_64.rpm
inflating: email_2019-最新.zip
inflating: master_ip_failover.txt
inflating: mha4mysql-manager-0.56-0.el6.noarch.rpm
inflating: mha4mysql-node-0.56-0.el6.noarch.rpm
[root@sjk1 mha]# ll
total 9936
-rw-r--r-- 1 root root 4963681 Jun 28 2019 Atlas-2.2.1.el6.x86_64.rpm
-rw-r--r-- 1 root root 20904 Jun 28 2019 email_2019-最新.zip
-rw-r--r-- 1 root root 2248 Jun 28 2019 master_ip_failover.txt
-rw-r--r-- 1 root root 5051108 Nov 12 20:39 MHA-2019-6.28.zip
-rw-r--r-- 1 root root 87119 Jun 28 2019 mha4mysql-manager-0.56-0.el6.noarch.rpm
-rw-r--r-- 1 root root 36326 Jun 28 2019 mha4mysql-node-0.56-0.el6.noarch.rpm
三台机器上都要
yum install perl-DBD-MySQL -y
rpm -ivh mha4mysql-node-0.56-0.el6.noarch.rpm
主库sjk1中创建mha用户
grant all privileges on *.* to mha@'192.168.80.%' identified by 'mha';
Manager软件安装(sjk3)
yum install -y perl-Config-Tiny epel-release perl-Log-Dispatch perl-Parallel-ForkManager perl-Time-HiRes
rpm -ivh mha4mysql-manager-0.56-0.el6.noarch.rpm
4. 配置文件的准备
sjk3
创建配置文件目录
mkdir -p /etc/mha
创建日志目录
mkdir -p /var/log/mha/app1
编辑mha配置文件
cat > /etc/mha/app1.cnf <<EOF
[server default]
manager_log=/var/log/mha/app1/manager
manager_workdir=/var/log/mha/app1
master_binlog_dir=/data/binlog
user=mha
password=mha
ping_interval=2
repl_password=123
repl_user=repl
ssh_user=root
[server1]
hostname=192.168.80.90
port=3306
[server2]
hostname=192.168.80.91
port=3306
[server3]
hostname=192.168.80.92
port=3306
EOF
5. 状态检查(sjk3)
masterha_check_ssh --conf=/etc/mha/app1.cnf
masterha_check_repl --conf=/etc/mha/app1.cnf
6. 开启MHA(sjk3)
nohup masterha_manager --conf=/etc/mha/app1.cnf --remove_dead_master_conf --ignore_last_failover < /dev/null> /var/log/mha/app1/manager.log 2>&1 &
7. 查看MHA状态
masterha_check_status --conf=/etc/mha/app1.cnf
[root@sjk3 mha]# masterha_check_status --conf=/etc/mha/app1.cnf
app1 (pid:16246) is running(0:PING_OK), master:192.168.80.90