Mariadb高可用MHA (四十二)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

一、概述    

1.1 概念

 1.2 组成

  1.3  特点

  1.4  工作原理

二、构建MHA

2.1 ssh免密登录

2.2 主从复制

2.3 MHA安装 

2.3.1所有节点安装perl环境

2.3..2 node

2.3.3 manager (只在mgt上装)

2.3.4 测试

2.3.5  故障恢复

总结



前言

MHA(Master High Availability)是一种用于MySQL和MariaDB数据库的高可用解决方案。它是由一个主节点(Master)和多个从节点(Slave)组成的集群,当主节点故障时,自动切换到一个可用的从节点上,以确保数据库的连续性和可用性。


提示:以下是本篇文章正文内容,下面案例可供参考

一、概述
    

1.1 概念


        MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。
        MHA 的出现就是解决MySQL 单点的问题。
        MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。
        MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正意义上的高可用。


    1.2 组成


        MHA manager
            管理节点
        MHA node
            数据节点
            每个节点上都需要安装


    1.3  特点


        自动故障切换过程中,MHA试图从宕机的主服务器上保存二进制日志,最大程度的保证数据不丢失
        使用半同步复制,可以大大降低数据丢失的风险,如果只有一个slave已经收到了最新的二进制日志,MHA可以将最新的二进制日志应用于其他所有的slave服务器上,因此可以保证所有节点的数据一致性
        目前MHA支持一主多从架构,最少三台服务,即一主两从


  1.4  工作原理


        从宕机崩溃的master 保存二进制日志事件(binlog events);
        识别含有最新的更新slave日志
        应用差异的中继日志(relay log)到其他的slave
        应用从master保存的二进制日志事件
        提升一个slave为新的master
        使其他的slave连接新的master进行复制

二、构建MHA

案例
    192.168.156.3
        manager(MHA)
            mgt
    192.168.156.4
        master
            master
    192.168.156.5
        slave
            slave1
    192.168.156.6
        slave
            slave2

每一台主机上全部安装mariadb 

[root@localhost ~]# yum install -y mariadb mariadb-server
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.huaweicloud.com
 * epel: mirrors.bfsu.edu.cn
 * extras: mirrors.huaweicloud.com
 * updates: mirrors.huaweicloud.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 mariadb.x86_64.1.5.5.68-1.el7 将被 安装
---> 软件包 mariadb-server.x86_64.1.5.5.68-1.el7 将被 安装
--> 正在处理依赖关系 perl-DBD-MySQL,它被软件包 1:mariadb-server-5.5.68-1.el7.x86_64 需要
--> 正在检查事务
---> 软件包 perl-DBD-MySQL.x86_64.0.4.023-6.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

====================================================================================================================================================
 Package                                架构                           版本                                      源                            大小
====================================================================================================================================================
正在安装:
 mariadb                                x86_64                         1:5.5.68-1.el7                            base                         8.8 M
 mariadb-server                         x86_64                         1:5.5.68-1.el7                            base                          11 M
为依赖而安装:
 perl-DBD-MySQL                         x86_64                         4.023-6.el7                               base                         140 k

事务概要
====================================================================================================================================================
安装  2 软件包 (+1 依赖软件包)

总下载量:20 M
安装大小:107 M
Downloading packages:
(1/3): perl-DBD-MySQL-4.023-6.el7.x86_64.rpm                                                                                 | 140 kB  00:00:00     
(2/3): mariadb-server-5.5.68-1.el7.x86_64.rpm                                                                                |  11 MB  00:00:03     
(3/3): mariadb-5.5.68-1.el7.x86_64.rpm                                                                                       | 8.8 MB  00:00:16     
----------------------------------------------------------------------------------------------------------------------------------------------------
总计                                                                                                                1.2 MB/s |  20 MB  00:00:16     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : 1:mariadb-5.5.68-1.el7.x86_64                                                                                                   1/3 
  正在安装    : perl-DBD-MySQL-4.023-6.el7.x86_64                                                                                               2/3 
  正在安装    : 1:mariadb-server-5.5.68-1.el7.x86_64                                                                                            3/3 
  验证中      : 1:mariadb-server-5.5.68-1.el7.x86_64                                                                                            1/3 
  验证中      : perl-DBD-MySQL-4.023-6.el7.x86_64                                                                                               2/3 
  验证中      : 1:mariadb-5.5.68-1.el7.x86_64                                                                                                   3/3 

已安装:
  mariadb.x86_64 1:5.5.68-1.el7                                         mariadb-server.x86_64 1:5.5.68-1.el7                                        

作为依赖被安装:
  perl-DBD-MySQL.x86_64 0:4.023-6.el7                                                                                                               

完毕!

每台主机分别改名为mgt  master slave1 slave2

 进入配置文件 /etc/hosts ,添加主机

Mariadb高可用MHA (四十二)_第1张图片

 将文件 /etc/hosts 分别拷贝给其它三台机子

[root@mgt ~]# scp /etc/hosts 192.168.156.4:/etc/
The authenticity of host '192.168.156.4 (192.168.156.4)' can't be established.
ECDSA key fingerprint is SHA256:UYOTDfnPCXDYRisvqKkyxQEEiuZnt6vtyjxyIwTT10M.
ECDSA key fingerprint is MD5:43:59:03:5c:67:80:66:f1:84:6e:ab:9d:d9:1a:b4:90.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.156.4' (ECDSA) to the list of known hosts.
[email protected]'s password: 
hosts                                                                                                             100%  240    80.2KB/s   00:00    
[root@mgt ~]# scp /etc/hosts 192.168.156.5:/etc/
The authenticity of host '192.168.156.5 (192.168.156.5)' can't be established.
ECDSA key fingerprint is SHA256:UYOTDfnPCXDYRisvqKkyxQEEiuZnt6vtyjxyIwTT10M.
ECDSA key fingerprint is MD5:43:59:03:5c:67:80:66:f1:84:6e:ab:9d:d9:1a:b4:90.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.156.5' (ECDSA) to the list of known hosts.
[email protected]'s password: 
hosts                                                                                                             100%  240    92.0KB/s   00:00    
[root@mgt ~]# scp /etc/hosts 192.168.156.8:/etc/
The authenticity of host '192.168.156.8 (192.168.156.8)' can't be established.
ECDSA key fingerprint is SHA256:UYOTDfnPCXDYRisvqKkyxQEEiuZnt6vtyjxyIwTT10M.
ECDSA key fingerprint is MD5:43:59:03:5c:67:80:66:f1:84:6e:ab:9d:d9:1a:b4:90.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.156.8' (ECDSA) to the list of known hosts.
[email protected]'s password: 
hosts                           

 测试(分别在每一台主机上测试)mgt

[root@mgt ~]# ping master
PING master (192.168.156.4) 56(84) bytes of data.
64 bytes from master (192.168.156.4): icmp_seq=1 ttl=64 time=0.513 ms
64 bytes from master (192.168.156.4): icmp_seq=2 ttl=64 time=0.825 ms
^C
--- master ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1003ms
rtt min/avg/max/mdev = 0.513/0.669/0.825/0.156 ms
[root@mgt ~]# ping slave1
PING slave1 (192.168.156.5) 56(84) bytes of data.
64 bytes from slave1 (192.168.156.5): icmp_seq=1 ttl=64 time=0.659 ms
64 bytes from slave1 (192.168.156.5): icmp_seq=2 ttl=64 time=0.648 ms
^C
--- slave1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.648/0.653/0.659/0.026 ms
[root@mgt ~]# ping slave2
PING slave2 (192.168.156.8) 56(84) bytes of data.
64 bytes from slave2 (192.168.156.8): icmp_seq=1 ttl=64 time=0.532 ms
64 bytes from slave2 (192.168.156.8): icmp_seq=2 ttl=64 time=0.756 ms
^C
--- slave2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.532/0.644/0.756/0.112 ms

master

[root@master ~]# ping mgt
PING mgt (192.168.156.10) 56(84) bytes of data.
64 bytes from mgt (192.168.156.10): icmp_seq=1 ttl=64 time=0.339 ms
64 bytes from mgt (192.168.156.10): icmp_seq=2 ttl=64 time=0.676 ms
^C
--- mgt ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.339/0.507/0.676/0.170 ms
[root@master ~]# ping slave1
PING slave1 (192.168.156.5) 56(84) bytes of data.
64 bytes from slave1 (192.168.156.5): icmp_seq=1 ttl=64 time=0.866 ms
64 bytes from slave1 (192.168.156.5): icmp_seq=2 ttl=64 time=0.451 ms
^C
--- slave1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.451/0.658/0.866/0.209 ms
[root@master ~]# ping slave2
PING slave2 (192.168.156.8) 56(84) bytes of data.
64 bytes from slave2 (192.168.156.8): icmp_seq=1 ttl=64 time=1.00 ms
64 bytes from slave2 (192.168.156.8): icmp_seq=2 ttl=64 time=0.489 ms
^C
--- slave2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 0.489/0.746/1.003/0.257 ms

slave1

[root@slave1 ~]# ping mgt
PING mgt (192.168.156.10) 56(84) bytes of data.
64 bytes from mgt (192.168.156.10): icmp_seq=1 ttl=64 time=0.380 ms
64 bytes from mgt (192.168.156.10): icmp_seq=2 ttl=64 time=0.982 ms
^C
--- mgt ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.380/0.681/0.982/0.301 ms
[root@slave1 ~]# ping master
PING master (192.168.156.4) 56(84) bytes of data.
64 bytes from master (192.168.156.4): icmp_seq=1 ttl=64 time=0.517 ms
64 bytes from master (192.168.156.4): icmp_seq=2 ttl=64 time=0.287 ms
^C
--- master ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.287/0.402/0.517/0.115 ms
[root@slave1 ~]# ping slave2
PING slave2 (192.168.156.8) 56(84) bytes of data.
64 bytes from slave2 (192.168.156.8): icmp_seq=1 ttl=64 time=1.48 ms
64 bytes from slave2 (192.168.156.8): icmp_seq=2 ttl=64 time=0.840 ms
^C
--- slave2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.840/1.163/1.487/0.325 ms

slave2

[root@slave2 ~]# ping mgt
PING mgt (192.168.156.10) 56(84) bytes of data.
64 bytes from mgt (192.168.156.10): icmp_seq=1 ttl=64 time=0.422 ms
64 bytes from mgt (192.168.156.10): icmp_seq=2 ttl=64 time=0.437 ms
64 bytes from mgt (192.168.156.10): icmp_seq=3 ttl=64 time=0.574 ms
64 bytes from mgt (192.168.156.10): icmp_seq=4 ttl=64 time=0.874 ms
64 bytes from mgt (192.168.156.10): icmp_seq=5 ttl=64 time=0.735 ms
^C
--- mgt ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4013ms
rtt min/avg/max/mdev = 0.422/0.608/0.874/0.175 ms
[root@slave2 ~]# ping master
PING master (192.168.156.4) 56(84) bytes of data.
64 bytes from master (192.168.156.4): icmp_seq=1 ttl=64 time=0.682 ms
64 bytes from master (192.168.156.4): icmp_seq=2 ttl=64 time=0.685 ms
64 bytes from master (192.168.156.4): icmp_seq=3 ttl=64 time=0.789 ms
^C
--- master ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2033ms
rtt min/avg/max/mdev = 0.682/0.718/0.789/0.058 ms
[root@slave2 ~]# ping slave1
PING slave1 (192.168.156.5) 56(84) bytes of data.
64 bytes from slave1 (192.168.156.5): icmp_seq=1 ttl=64 time=0.477 ms
64 bytes from slave1 (192.168.156.5): icmp_seq=2 ttl=64 time=0.779 ms
64 bytes from slave1 (192.168.156.5): icmp_seq=3 ttl=64 time=0.654 ms
64 bytes from slave1 (192.168.156.5): icmp_seq=4 ttl=64 time=0.728 ms
64 bytes from slave1 (192.168.156.5): icmp_seq=5 ttl=64 time=0.756 ms
64 bytes from slave1 (192.168.156.5): icmp_seq=6 ttl=64 time=0.904 ms
^C
--- slave1 ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5018ms
rtt min/avg/max/mdev = 0.477/0.716/0.904/0.132 ms

2.1 ssh免密登录

  所有节点配置hosts
        192.168.156.3    mgt
        192.168.156.4    master
        192.168.156.5    slave1
        192.168.156.6    slave2
    192.168.156.3
        ssh-keygen
        for i in 4 5 6;do ssh-copy-id [email protected].$i;done
    192.168.156.4
        ssh-keygen
        for i in 3 5 6;do ssh-copy-id [email protected].$i;done
    192.168.156.5
        ssh-keygen
        for i in 4 3 6;do ssh-copy-id [email protected].$i;done
    192.168.156.6
        ssh-keygen
        for i in 4 5 3;do ssh-copy-id [email protected].$i;done
    测试
        for i in 3 4 5;do ssh 192.168.156.$i hostname;done

[root@mgt ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:KKd91Xo5xRM8gTnd4xmNU1Ug+k3bCqu/Dafc5GV711Y root@mgt
The key's randomart image is:
+---[RSA 2048]----+
|            .+o=B|
|           .+o++o|
|          .  .*.+|
|       .   o + B |
|    . o S . + * .|
|     =   . . = oE|
|    . . . . * + =|
|       .   + X o*|
|          ..=.+oo|
+----[SHA256]-----+
[root@mgt ~]# ssh-copy-id mgt
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host 'mgt (192.168.156.3)' can't be established.
ECDSA key fingerprint is SHA256:UYOTDfnPCXDYRisvqKkyxQEEiuZnt6vtyjxyIwTT10M.
ECDSA key fingerprint is MD5:43:59:03:5c:67:80:66:f1:84:6e:ab:9d:d9:1a:b4:90.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@mgt's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'mgt'"
and check to make sure that only the key(s) you wanted were added.

 验证(分别在每一台机子上验证)

[root@mgt ~]# ssh master
The authenticity of host 'master (192.168.156.4)' can't be established.
ECDSA key fingerprint is SHA256:UYOTDfnPCXDYRisvqKkyxQEEiuZnt6vtyjxyIwTT10M.
ECDSA key fingerprint is MD5:43:59:03:5c:67:80:66:f1:84:6e:ab:9d:d9:1a:b4:90.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'master' (ECDSA) to the list of known hosts.
Last login: Wed Aug 16 02:16:32 2023 from 192.168.156.1
[root@master ~]# exit
登出
Connection to master closed.
[root@mgt ~]# ssh slave1
The authenticity of host 'slave1 (192.168.156.5)' can't be established.
ECDSA key fingerprint is SHA256:UYOTDfnPCXDYRisvqKkyxQEEiuZnt6vtyjxyIwTT10M.
ECDSA key fingerprint is MD5:43:59:03:5c:67:80:66:f1:84:6e:ab:9d:d9:1a:b4:90.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'slave1' (ECDSA) to the list of known hosts.
Last login: Wed Aug 16 02:17:00 2023 from 192.168.156.1
[root@slave1 ~]# exit
登出
Connection to slave1 closed.
[root@mgt ~]# ssh slave2
The authenticity of host 'slave2 (192.168.156.6)' can't be established.
ECDSA key fingerprint is SHA256:UYOTDfnPCXDYRisvqKkyxQEEiuZnt6vtyjxyIwTT10M.
ECDSA key fingerprint is MD5:43:59:03:5c:67:80:66:f1:84:6e:ab:9d:d9:1a:b4:90.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'slave2' (ECDSA) to the list of known hosts.
Last login: Wed Aug 16 02:17:30 2023 from 192.168.156.1
[root@slave2 ~]# exit
登出
Connection to slave2 closed.
[root@mgt ~]# ssh mgt
Last login: Wed Aug 16 02:16:02 2023 from 192.168.156.1
[root@mgt ~]# exit
登出
Connection to mgt closed.

2.2 主从复制

master 

Mariadb高可用MHA (四十二)_第2张图片

 slave1

Mariadb高可用MHA (四十二)_第3张图片

 slave2

 启动服务(三台都启动)

 master

查看状态

Mariadb高可用MHA (四十二)_第4张图片

  slave1

  slave2

  验证

登录master ,在master 上创建库

Mariadb高可用MHA (四十二)_第5张图片

  登录slave1 查看

Mariadb高可用MHA (四十二)_第6张图片

  登录slave2 查看

Mariadb高可用MHA (四十二)_第7张图片

2.3 MHA安装 

2.3.1所有节点安装perl环境

    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

[root@mgt ~]# yum install epel-release -y
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.huaweicloud.com
 * extras: mirrors.tuna.tsinghua.edu.cn
 * updates: mirrors.tuna.tsinghua.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 epel-release.noarch.0.7-11 将被 安装
--> 解决依赖关系完成

依赖关系解决

=========================================================================================================================================================================
 Package                                      架构                                   版本                                   源                                      大小
=========================================================================================================================================================================
正在安装:
 epel-release                                 noarch                                 7-11                                   extras                                  15 k

事务概要
=========================================================================================================================================================================
安装  1 软件包

总下载量:15 k
安装大小:24 k
Downloading packages:
epel-release-7-11.noarch.rpm                                                                                                                      |  15 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : epel-release-7-11.noarch                                                                                                                             1/1 
  验证中      : epel-release-7-11.noarch                                                                                                                             1/1 

已安装:
  epel-release.noarch 0:7-11                                                                                                                                             

完毕!
[root@mgt ~]# yum install epel-release -y
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * epel: mirror-icn.yuki.net.uk
 * extras: mirrors.cqu.edu.cn
 * updates: mirrors.jlu.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 epel-release.noarch.0.7-11 将被 升级
---> 软件包 epel-release.noarch.0.7-14 将被 更新
--> 解决依赖关系完成

依赖关系解决

=========================================================================================================================================================================
 Package                                       架构                                    版本                                  源                                     大小
=========================================================================================================================================================================
正在更新:
 epel-release                                  noarch                                  7-14                                  epel                                   15 k

事务概要
=========================================================================================================================================================================
升级  1 软件包

总下载量:15 k
Downloading packages:
epel/x86_64/prestodelta                                                                                                                           | 1.2 kB  00:00:00     
警告:/var/cache/yum/x86_64/7/epel/packages/epel-release-7-14.noarch.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 352c64e5: NOKEY
epel-release-7-14.noarch.rpm 的公钥尚未安装
epel-release-7-14.noarch.rpm                                                                                                                      |  15 kB  00:00:00     
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 检索密钥
导入 GPG key 0x352C64E5:
 用户ID     : "Fedora EPEL (7) "
 指纹       : 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
 软件包     : epel-release-7-11.noarch (@extras)
 来自       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在更新    : epel-release-7-14.noarch                                                                                                                             1/2 
  清理        : epel-release-7-11.noarch                                                                                                                             2/2 
  验证中      : epel-release-7-14.noarch                                                                                                                             1/2 
  验证中      : epel-release-7-11.noarch                                                                                                                             2/2 

更新完毕:
  epel-release.noarch 0:7-14                                                                                                                                             

完毕!
[root@mgt ~]# yum -y install perl-DBD-MySQL perl-ExtUtils-MakeMaker perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager perl-Time-HiRes perl-CPAN
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.bfsu.edu.cn
 * epel: mirrors.bfsu.edu.cn
 * extras: mirrors.bfsu.edu.cn
 * updates: mirrors.bfsu.edu.cn
软件包 perl-DBD-MySQL-4.023-6.el7.x86_64 已安装并且是最新版本
软件包 4:perl-Time-HiRes-1.9725-3.el7.x86_64 已安装并且是最新版本
正在解决依赖关系
--> 正在检查事务
---> 软件包 perl-CPAN.noarch.0.1.9800-299.el7_9 将被 安装
--> 正在处理依赖关系 perl(local::lib),它被软件包 perl-CPAN-1.9800-299.el7_9.noarch 需要
--> 正在处理依赖关系 perl(Digest::SHA),它被软件包 perl-CPAN-1.9800-299.el7_9.noarch 需要
---> 软件包 perl-Config-Tiny.noarch.0.2.14-7.el7 将被 安装
---> 软件包 perl-ExtUtils-MakeMaker.noarch.0.6.68-3.el7 将被 安装
--> 正在处理依赖关系 perl(ExtUtils::Packlist),它被软件包 perl-ExtUtils-MakeMaker-6.68-3.el7.noarch 需要
--> 正在处理依赖关系 perl(ExtUtils::Manifest),它被软件包 perl-ExtUtils-MakeMaker-6.68-3.el7.noarch 需要
--> 正在处理依赖关系 perl(ExtUtils::Installed),它被软件包 perl-ExtUtils-MakeMaker-6.68-3.el7.noarch 需要
--> 正在处理依赖关系 perl(ExtUtils::Install),它被软件包 perl-ExtUtils-MakeMaker-6.68-3.el7.noarch 需要
---> 软件包 perl-Log-Dispatch.noarch.0.2.41-1.el7.1 将被 安装
--> 正在处理依赖关系 perl(Params::Validate) >= 0.15,它被软件包 perl-Log-Dispatch-2.41-1.el7.1.noarch 需要
--> 正在处理依赖关系 perl(Sys::Syslog) >= 0.25,它被软件包 perl-Log-Dispatch-2.41-1.el7.1.noarch 需要
--> 正在处理依赖关系 perl(Class::Load),它被软件包 perl-Log-Dispatch-2.41-1.el7.1.noarch 需要
--> 正在处理依赖关系 perl(MIME::Lite),它被软件包 perl-Log-Dispatch-2.41-1.el7.1.noarch 需要
--> 正在处理依赖关系 perl(Mail::Send),它被软件包 perl-Log-Dispatch-2.41-1.el7.1.noarch 需要
--> 正在处理依赖关系 perl(Mail::Sender),它被软件包 perl-Log-Dispatch-2.41-1.el7.1.noarch 需要
--> 正在处理依赖关系 perl(Mail::Sendmail),它被软件包 perl-Log-Dispatch-2.41-1.el7.1.noarch 需要
--> 正在处理依赖关系 perl(Params::Validate),它被软件包 perl-Log-Dispatch-2.41-1.el7.1.noarch 需要
---> 软件包 perl-Parallel-ForkManager.noarch.0.1.18-2.el7 将被 安装
--> 正在检查事务
---> 软件包 perl-Class-Load.noarch.0.0.20-3.el7 将被 安装
--> 正在处理依赖关系 perl(Package::Stash) >= 0.14,它被软件包 perl-Class-Load-0.20-3.el7.noarch 需要
--> 正在处理依赖关系 perl(Module::Runtime) >= 0.012,它被软件包 perl-Class-Load-0.20-3.el7.noarch 需要
--> 正在处理依赖关系 perl(Module::Implementation) >= 0.04,它被软件包 perl-Class-Load-0.20-3.el7.noarch 需要
--> 正在处理依赖关系 perl(Try::Tiny),它被软件包 perl-Class-Load-0.20-3.el7.noarch 需要
--> 正在处理依赖关系 perl(Module::Runtime),它被软件包 perl-Class-Load-0.20-3.el7.noarch 需要
--> 正在处理依赖关系 perl(Data::OptList),它被软件包 perl-Class-Load-0.20-3.el7.noarch 需要
---> 软件包 perl-Digest-SHA.x86_64.1.5.85-4.el7 将被 安装
--> 正在处理依赖关系 perl(Digest::base),它被软件包 1:perl-Digest-SHA-5.85-4.el7.x86_64 需要
---> 软件包 perl-ExtUtils-Install.noarch.0.1.58-299.el7_9 将被 安装
--> 正在处理依赖关系 perl-devel,它被软件包 perl-ExtUtils-Install-1.58-299.el7_9.noarch 需要
---> 软件包 perl-ExtUtils-Manifest.noarch.0.1.61-244.el7 将被 安装
---> 软件包 perl-MIME-Lite.noarch.0.3.030-1.el7 将被 安装
--> 正在处理依赖关系 perl(MIME::Types) >= 1.28,它被软件包 perl-MIME-Lite-3.030-1.el7.noarch 需要
--> 正在处理依赖关系 perl(Email::Date::Format),它被软件包 perl-MIME-Lite-3.030-1.el7.noarch 需要
---> 软件包 perl-Mail-Sender.noarch.0.0.8.23-1.el7 将被 安装
--> 正在处理依赖关系 perl(IO::Socket::SSL),它被软件包 perl-Mail-Sender-0.8.23-1.el7.noarch 需要
--> 正在处理依赖关系 perl(Net::SSLeay),它被软件包 perl-Mail-Sender-0.8.23-1.el7.noarch 需要
---> 软件包 perl-Mail-Sendmail.noarch.0.0.79-21.el7 将被 安装
---> 软件包 perl-MailTools.noarch.0.2.12-2.el7 将被 安装
--> 正在处理依赖关系 perl(Net::SMTP::SSL),它被软件包 perl-MailTools-2.12-2.el7.noarch 需要
--> 正在处理依赖关系 perl(Date::Parse),它被软件包 perl-MailTools-2.12-2.el7.noarch 需要
--> 正在处理依赖关系 perl(Date::Format),它被软件包 perl-MailTools-2.12-2.el7.noarch 需要
---> 软件包 perl-Params-Validate.x86_64.0.1.08-4.el7 将被 安装
---> 软件包 perl-Sys-Syslog.x86_64.0.0.33-3.el7 将被 安装
---> 软件包 perl-local-lib.noarch.0.1.008010-4.el7 将被 安装
--> 正在检查事务
---> 软件包 perl-Data-OptList.noarch.0.0.107-9.el7 将被 安装
--> 正在处理依赖关系 perl(Sub::Install) >= 0.921,它被软件包 perl-Data-OptList-0.107-9.el7.noarch 需要
--> 正在处理依赖关系 perl(Params::Util),它被软件包 perl-Data-OptList-0.107-9.el7.noarch 需要
---> 软件包 perl-Digest.noarch.0.1.17-245.el7 将被 安装
---> 软件包 perl-Email-Date-Format.noarch.0.1.002-15.el7 将被 安装
---> 软件包 perl-IO-Socket-SSL.noarch.0.1.94-7.el7 将被 安装
--> 正在处理依赖关系 perl(IO::Socket::IP) >= 0.20,它被软件包 perl-IO-Socket-SSL-1.94-7.el7.noarch 需要
--> 正在处理依赖关系 perl(Net::LibIDN),它被软件包 perl-IO-Socket-SSL-1.94-7.el7.noarch 需要
--> 正在处理依赖关系 perl(Mozilla::CA),它被软件包 perl-IO-Socket-SSL-1.94-7.el7.noarch 需要
---> 软件包 perl-MIME-Types.noarch.0.1.38-2.el7 将被 安装
---> 软件包 perl-Module-Implementation.noarch.0.0.06-6.el7 将被 安装
---> 软件包 perl-Module-Runtime.noarch.0.0.013-4.el7 将被 安装
---> 软件包 perl-Net-SMTP-SSL.noarch.0.1.01-13.el7 将被 安装
---> 软件包 perl-Net-SSLeay.x86_64.0.1.55-6.el7 将被 安装
---> 软件包 perl-Package-Stash.noarch.0.0.34-2.el7 将被 安装
--> 正在处理依赖关系 perl(Package::Stash::XS) >= 0.26,它被软件包 perl-Package-Stash-0.34-2.el7.noarch 需要
--> 正在处理依赖关系 perl(Package::DeprecationManager),它被软件包 perl-Package-Stash-0.34-2.el7.noarch 需要
---> 软件包 perl-TimeDate.noarch.1.2.30-2.el7 将被 安装
---> 软件包 perl-Try-Tiny.noarch.0.0.12-2.el7 将被 安装
---> 软件包 perl-devel.x86_64.4.5.16.3-299.el7_9 将被 安装
--> 正在处理依赖关系 systemtap-sdt-devel,它被软件包 4:perl-devel-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(ExtUtils::ParseXS),它被软件包 4:perl-devel-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 libdb-devel,它被软件包 4:perl-devel-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 gdbm-devel,它被软件包 4:perl-devel-5.16.3-299.el7_9.x86_64 需要
--> 正在检查事务
---> 软件包 gdbm-devel.x86_64.0.1.10-8.el7 将被 安装
---> 软件包 libdb-devel.x86_64.0.5.3.21-25.el7 将被 安装
---> 软件包 perl-ExtUtils-ParseXS.noarch.1.3.18-3.el7 将被 安装
---> 软件包 perl-IO-Socket-IP.noarch.0.0.21-5.el7 将被 安装
---> 软件包 perl-Mozilla-CA.noarch.0.20130114-5.el7 将被 安装
---> 软件包 perl-Net-LibIDN.x86_64.0.0.12-15.el7 将被 安装
---> 软件包 perl-Package-DeprecationManager.noarch.0.0.13-7.el7 将被 安装
--> 正在处理依赖关系 perl(List::MoreUtils),它被软件包 perl-Package-DeprecationManager-0.13-7.el7.noarch 需要
---> 软件包 perl-Package-Stash-XS.x86_64.0.0.26-3.el7 将被 安装
---> 软件包 perl-Params-Util.x86_64.0.1.07-6.el7 将被 安装
---> 软件包 perl-Sub-Install.noarch.0.0.926-6.el7 将被 安装
---> 软件包 systemtap-sdt-devel.x86_64.0.4.0-13.el7 将被 安装
--> 正在处理依赖关系 pyparsing,它被软件包 systemtap-sdt-devel-4.0-13.el7.x86_64 需要
--> 正在检查事务
---> 软件包 perl-List-MoreUtils.x86_64.0.0.33-9.el7 将被 安装
---> 软件包 pyparsing.noarch.0.1.5.6-9.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

=========================================================================================================================================================================
 Package                                                 架构                           版本                                       源                               大小
=========================================================================================================================================================================
正在安装:
 perl-CPAN                                               noarch                         1.9800-299.el7_9                           updates                         293 k
 perl-Config-Tiny                                        noarch                         2.14-7.el7                                 base                             25 k
 perl-ExtUtils-MakeMaker                                 noarch                         6.68-3.el7                                 base                            275 k
 perl-Log-Dispatch                                       noarch                         2.41-1.el7.1                               epel                             82 k
 perl-Parallel-ForkManager                               noarch                         1.18-2.el7                                 epel                             28 k
为依赖而安装:
 gdbm-devel                                              x86_64                         1.10-8.el7                                 base                             47 k
 libdb-devel                                             x86_64                         5.3.21-25.el7                              base                             39 k
 perl-Class-Load                                         noarch                         0.20-3.el7                                 base                             27 k
 perl-Data-OptList                                       noarch                         0.107-9.el7                                base                             23 k
 perl-Digest                                             noarch                         1.17-245.el7                               base                             23 k
 perl-Digest-SHA                                         x86_64                         1:5.85-4.el7                               base                             58 k
 perl-Email-Date-Format                                  noarch                         1.002-15.el7                               epel                             17 k
 perl-ExtUtils-Install                                   noarch                         1.58-299.el7_9                             updates                          75 k
 perl-ExtUtils-Manifest                                  noarch                         1.61-244.el7                               base                             31 k
 perl-ExtUtils-ParseXS                                   noarch                         1:3.18-3.el7                               base                             77 k
 perl-IO-Socket-IP                                       noarch                         0.21-5.el7                                 base                             36 k
 perl-IO-Socket-SSL                                      noarch                         1.94-7.el7                                 base                            115 k
 perl-List-MoreUtils                                     x86_64                         0.33-9.el7                                 base                             58 k
 perl-MIME-Lite                                          noarch                         3.030-1.el7                                epel                             96 k
 perl-MIME-Types                                         noarch                         1.38-2.el7                                 epel                             38 k
 perl-Mail-Sender                                        noarch                         0.8.23-1.el7                               epel                             59 k
 perl-Mail-Sendmail                                      noarch                         0.79-21.el7                                epel                             29 k
 perl-MailTools                                          noarch                         2.12-2.el7                                 base                            108 k
 perl-Module-Implementation                              noarch                         0.06-6.el7                                 base                             17 k
 perl-Module-Runtime                                     noarch                         0.013-4.el7                                base                             19 k
 perl-Mozilla-CA                                         noarch                         20130114-5.el7                             base                             11 k
 perl-Net-LibIDN                                         x86_64                         0.12-15.el7                                base                             28 k
 perl-Net-SMTP-SSL                                       noarch                         1.01-13.el7                                base                            9.1 k
 perl-Net-SSLeay                                         x86_64                         1.55-6.el7                                 base                            285 k
 perl-Package-DeprecationManager                         noarch                         0.13-7.el7                                 base                             18 k
 perl-Package-Stash                                      noarch                         0.34-2.el7                                 base                             34 k
 perl-Package-Stash-XS                                   x86_64                         0.26-3.el7                                 base                             31 k
 perl-Params-Util                                        x86_64                         1.07-6.el7                                 base                             38 k
 perl-Params-Validate                                    x86_64                         1.08-4.el7                                 base                             69 k
 perl-Sub-Install                                        noarch                         0.926-6.el7                                base                             21 k
 perl-Sys-Syslog                                         x86_64                         0.33-3.el7                                 base                             42 k
 perl-TimeDate                                           noarch                         1:2.30-2.el7                               base                             52 k
 perl-Try-Tiny                                           noarch                         0.12-2.el7                                 base                             23 k
 perl-devel                                              x86_64                         4:5.16.3-299.el7_9                         updates                         454 k
 perl-local-lib                                          noarch                         1.008010-4.el7                             base                             64 k
 pyparsing                                               noarch                         1.5.6-9.el7                                base                             94 k
 systemtap-sdt-devel                                     x86_64                         4.0-13.el7                                 base                             76 k

事务概要
=========================================================================================================================================================================
安装  5 软件包 (+37 依赖软件包)

总下载量:3.0 M
安装大小:7.5 M
Downloading packages:
(1/42): gdbm-devel-1.10-8.el7.x86_64.rpm                                                                                                          |  47 kB  00:00:00     
(2/42): perl-CPAN-1.9800-299.el7_9.noarch.rpm                                                                                                     | 293 kB  00:00:00     
(3/42): perl-Data-OptList-0.107-9.el7.noarch.rpm                                                                                                  |  23 kB  00:00:00     
(4/42): perl-Digest-SHA-5.85-4.el7.x86_64.rpm                                                                                                     |  58 kB  00:00:00     
(5/42): libdb-devel-5.3.21-25.el7.x86_64.rpm                                                                                                      |  39 kB  00:00:00     
(6/42): perl-Class-Load-0.20-3.el7.noarch.rpm                                                                                                     |  27 kB  00:00:00     
warning: /var/cache/yum/x86_64/7/epel/packages/perl-Email-Date-Format-1.002-15.el7.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
perl-Email-Date-Format-1.002-15.el7.noarch.rpm 的公钥尚未安装
(7/42): perl-Email-Date-Format-1.002-15.el7.noarch.rpm                                                                                            |  17 kB  00:00:00     
(8/42): perl-Config-Tiny-2.14-7.el7.noarch.rpm                                                                                                    |  25 kB  00:00:00     
(9/42): perl-ExtUtils-MakeMaker-6.68-3.el7.noarch.rpm                                                                                             | 275 kB  00:00:00     
(10/42): perl-ExtUtils-Manifest-1.61-244.el7.noarch.rpm                                                                                           |  31 kB  00:00:00     
(11/42): perl-IO-Socket-SSL-1.94-7.el7.noarch.rpm                                                                                                 | 115 kB  00:00:00     
(12/42): perl-IO-Socket-IP-0.21-5.el7.noarch.rpm                                                                                                  |  36 kB  00:00:00     
(13/42): perl-List-MoreUtils-0.33-9.el7.x86_64.rpm                                                                                                |  58 kB  00:00:00     
(14/42): perl-Digest-1.17-245.el7.noarch.rpm                                                                                                      |  23 kB  00:00:00     
(15/42): perl-ExtUtils-Install-1.58-299.el7_9.noarch.rpm                                                                                          |  75 kB  00:00:00     
(16/42): perl-ExtUtils-ParseXS-3.18-3.el7.noarch.rpm                                                                                              |  77 kB  00:00:00     
(17/42): perl-Log-Dispatch-2.41-1.el7.1.noarch.rpm                                                                                                |  82 kB  00:00:00     
(18/42): perl-MIME-Lite-3.030-1.el7.noarch.rpm                                                                                                    |  96 kB  00:00:00     
(19/42): perl-MIME-Types-1.38-2.el7.noarch.rpm                                                                                                    |  38 kB  00:00:00     
(20/42): perl-Mail-Sender-0.8.23-1.el7.noarch.rpm                                                                                                 |  59 kB  00:00:00     
(21/42): perl-Mail-Sendmail-0.79-21.el7.noarch.rpm                                                                                                |  29 kB  00:00:00     
(22/42): perl-Module-Implementation-0.06-6.el7.noarch.rpm                                                                                         |  17 kB  00:00:00     
(23/42): perl-Mozilla-CA-20130114-5.el7.noarch.rpm                                                                                                |  11 kB  00:00:00     
(24/42): perl-Net-SMTP-SSL-1.01-13.el7.noarch.rpm                                                                                                 | 9.1 kB  00:00:00     
(25/42): perl-Net-LibIDN-0.12-15.el7.x86_64.rpm                                                                                                   |  28 kB  00:00:00     
(26/42): perl-Net-SSLeay-1.55-6.el7.x86_64.rpm                                                                                                    | 285 kB  00:00:00     
(27/42): perl-Package-DeprecationManager-0.13-7.el7.noarch.rpm                                                                                    |  18 kB  00:00:00     
(28/42): perl-Parallel-ForkManager-1.18-2.el7.noarch.rpm                                                                                          |  28 kB  00:00:00     
(29/42): perl-Package-Stash-XS-0.26-3.el7.x86_64.rpm                                                                                              |  31 kB  00:00:00     
(30/42): perl-Package-Stash-0.34-2.el7.noarch.rpm                                                                                                 |  34 kB  00:00:00     
(31/42): perl-Params-Util-1.07-6.el7.x86_64.rpm                                                                                                   |  38 kB  00:00:00     
(32/42): perl-Params-Validate-1.08-4.el7.x86_64.rpm                                                                                               |  69 kB  00:00:00     
(33/42): perl-Sys-Syslog-0.33-3.el7.x86_64.rpm                                                                                                    |  42 kB  00:00:00     
(34/42): perl-TimeDate-2.30-2.el7.noarch.rpm                                                                                                      |  52 kB  00:00:00     
(35/42): perl-Try-Tiny-0.12-2.el7.noarch.rpm                                                                                                      |  23 kB  00:00:00     
(36/42): perl-devel-5.16.3-299.el7_9.x86_64.rpm                                                                                                   | 454 kB  00:00:00     
(37/42): perl-local-lib-1.008010-4.el7.noarch.rpm                                                                                                 |  64 kB  00:00:00     
(38/42): perl-Module-Runtime-0.013-4.el7.noarch.rpm                                                                                               |  19 kB  00:00:00     
(39/42): perl-MailTools-2.12-2.el7.noarch.rpm                                                                                                     | 108 kB  00:00:00     
(40/42): systemtap-sdt-devel-4.0-13.el7.x86_64.rpm                                                                                                |  76 kB  00:00:00     
(41/42): pyparsing-1.5.6-9.el7.noarch.rpm                                                                                                         |  94 kB  00:00:00     
(42/42): perl-Sub-Install-0.926-6.el7.noarch.rpm                                                                                                  |  21 kB  00:00:00     
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计                                                                                                                                     1.4 MB/s | 3.0 MB  00:00:02     
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 检索密钥
导入 GPG key 0x352C64E5:
 用户ID     : "Fedora EPEL (7) "
 指纹       : 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
 软件包     : epel-release-7-11.noarch (@extras)
 来自       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : perl-Sub-Install-0.926-6.el7.noarch                                                                                                                 1/42 
  正在安装    : perl-Net-SSLeay-1.55-6.el7.x86_64                                                                                                                   2/42 
  正在安装    : perl-Params-Util-1.07-6.el7.x86_64                                                                                                                  3/42 
  正在安装    : perl-Try-Tiny-0.12-2.el7.noarch                                                                                                                     4/42 
  正在安装    : perl-Module-Runtime-0.013-4.el7.noarch                                                                                                              5/42 
  正在安装    : perl-Module-Implementation-0.06-6.el7.noarch                                                                                                        6/42 
  正在安装    : perl-Params-Validate-1.08-4.el7.x86_64                                                                                                              7/42 
  正在安装    : perl-Data-OptList-0.107-9.el7.noarch                                                                                                                8/42 
  正在安装    : perl-Email-Date-Format-1.002-15.el7.noarch                                                                                                          9/42 
  正在安装    : perl-Digest-1.17-245.el7.noarch                                                                                                                    10/42 
  正在安装    : 1:perl-Digest-SHA-5.85-4.el7.x86_64                                                                                                                11/42 
  正在安装    : perl-Net-LibIDN-0.12-15.el7.x86_64                                                                                                                 12/42 
  正在安装    : 1:perl-TimeDate-2.30-2.el7.noarch                                                                                                                  13/42 
  正在安装    : perl-ExtUtils-Manifest-1.61-244.el7.noarch                                                                                                         14/42 
  正在安装    : perl-Package-Stash-XS-0.26-3.el7.x86_64                                                                                                            15/42 
  正在安装    : perl-IO-Socket-IP-0.21-5.el7.noarch                                                                                                                16/42 
  正在安装    : perl-MIME-Types-1.38-2.el7.noarch                                                                                                                  17/42 
  正在安装    : perl-MIME-Lite-3.030-1.el7.noarch                                                                                                                  18/42 
  正在安装    : perl-Mozilla-CA-20130114-5.el7.noarch                                                                                                              19/42 
  正在安装    : perl-IO-Socket-SSL-1.94-7.el7.noarch                                                                                                               20/42 
  正在安装    : perl-Mail-Sender-0.8.23-1.el7.noarch                                                                                                               21/42 
  正在安装    : perl-Net-SMTP-SSL-1.01-13.el7.noarch                                                                                                               22/42 
  正在安装    : perl-MailTools-2.12-2.el7.noarch                                                                                                                   23/42 
  正在安装    : perl-List-MoreUtils-0.33-9.el7.x86_64                                                                                                              24/42 
  正在安装    : perl-Package-DeprecationManager-0.13-7.el7.noarch                                                                                                  25/42 
  正在安装    : perl-Package-Stash-0.34-2.el7.noarch                                                                                                               26/42 
  正在安装    : perl-Class-Load-0.20-3.el7.noarch                                                                                                                  27/42 
  正在安装    : perl-Sys-Syslog-0.33-3.el7.x86_64                                                                                                                  28/42 
  正在安装    : gdbm-devel-1.10-8.el7.x86_64                                                                                                                       29/42 
  正在安装    : pyparsing-1.5.6-9.el7.noarch                                                                                                                       30/42 
  正在安装    : systemtap-sdt-devel-4.0-13.el7.x86_64                                                                                                              31/42 
  正在安装    : perl-Mail-Sendmail-0.79-21.el7.noarch                                                                                                              32/42 
  正在安装    : libdb-devel-5.3.21-25.el7.x86_64                                                                                                                   33/42 
  正在安装    : perl-ExtUtils-MakeMaker-6.68-3.el7.noarch                                                                                                          34/42 
  正在安装    : perl-ExtUtils-Install-1.58-299.el7_9.noarch                                                                                                        35/42 
  正在安装    : 1:perl-ExtUtils-ParseXS-3.18-3.el7.noarch                                                                                                          36/42 
  正在安装    : 4:perl-devel-5.16.3-299.el7_9.x86_64                                                                                                               37/42 
  正在安装    : perl-local-lib-1.008010-4.el7.noarch                                                                                                               38/42 
  正在安装    : perl-CPAN-1.9800-299.el7_9.noarch                                                                                                                  39/42 
  正在安装    : perl-Log-Dispatch-2.41-1.el7.1.noarch                                                                                                              40/42 
  正在安装    : perl-Config-Tiny-2.14-7.el7.noarch                                                                                                                 41/42 
  正在安装    : perl-Parallel-ForkManager-1.18-2.el7.noarch                                                                                                        42/42 
  验证中      : perl-local-lib-1.008010-4.el7.noarch                                                                                                                1/42 
  验证中      : perl-Module-Runtime-0.013-4.el7.noarch                                                                                                              2/42 
  验证中      : libdb-devel-5.3.21-25.el7.x86_64                                                                                                                    3/42 
  验证中      : perl-Mail-Sendmail-0.79-21.el7.noarch                                                                                                               4/42 
  验证中      : perl-MailTools-2.12-2.el7.noarch                                                                                                                    5/42 
  验证中      : perl-ExtUtils-Install-1.58-299.el7_9.noarch                                                                                                         6/42 
  验证中      : perl-Try-Tiny-0.12-2.el7.noarch                                                                                                                     7/42 
  验证中      : perl-Parallel-ForkManager-1.18-2.el7.noarch                                                                                                         8/42 
  验证中      : 1:perl-ExtUtils-ParseXS-3.18-3.el7.noarch                                                                                                           9/42 
  验证中      : pyparsing-1.5.6-9.el7.noarch                                                                                                                       10/42 
  验证中      : gdbm-devel-1.10-8.el7.x86_64                                                                                                                       11/42 
  验证中      : perl-Mail-Sender-0.8.23-1.el7.noarch                                                                                                               12/42 
  验证中      : perl-ExtUtils-MakeMaker-6.68-3.el7.noarch                                                                                                          13/42 
  验证中      : perl-Config-Tiny-2.14-7.el7.noarch                                                                                                                 14/42 
  验证中      : systemtap-sdt-devel-4.0-13.el7.x86_64                                                                                                              15/42 
  验证中      : perl-Sys-Syslog-0.33-3.el7.x86_64                                                                                                                  16/42 
  验证中      : perl-List-MoreUtils-0.33-9.el7.x86_64                                                                                                              17/42 
  验证中      : perl-IO-Socket-SSL-1.94-7.el7.noarch                                                                                                               18/42 
  验证中      : perl-Mozilla-CA-20130114-5.el7.noarch                                                                                                              19/42 
  验证中      : 4:perl-devel-5.16.3-299.el7_9.x86_64                                                                                                               20/42 
  验证中      : perl-MIME-Types-1.38-2.el7.noarch                                                                                                                  21/42 
  验证中      : perl-Params-Util-1.07-6.el7.x86_64                                                                                                                 22/42 
  验证中      : perl-Package-Stash-0.34-2.el7.noarch                                                                                                               23/42 
  验证中      : perl-IO-Socket-IP-0.21-5.el7.noarch                                                                                                                24/42 
  验证中      : perl-Package-Stash-XS-0.26-3.el7.x86_64                                                                                                            25/42 
  验证中      : perl-MIME-Lite-3.030-1.el7.noarch                                                                                                                  26/42 
  验证中      : perl-Net-SSLeay-1.55-6.el7.x86_64                                                                                                                  27/42 
  验证中      : perl-Params-Validate-1.08-4.el7.x86_64                                                                                                             28/42 
  验证中      : perl-Class-Load-0.20-3.el7.noarch                                                                                                                  29/42 
  验证中      : perl-Log-Dispatch-2.41-1.el7.1.noarch                                                                                                              30/42 
  验证中      : perl-Package-DeprecationManager-0.13-7.el7.noarch                                                                                                  31/42 
  验证中      : perl-ExtUtils-Manifest-1.61-244.el7.noarch                                                                                                         32/42 
  验证中      : perl-Net-SMTP-SSL-1.01-13.el7.noarch                                                                                                               33/42 
  验证中      : perl-Sub-Install-0.926-6.el7.noarch                                                                                                                34/42 
  验证中      : perl-CPAN-1.9800-299.el7_9.noarch                                                                                                                  35/42 
  验证中      : perl-Module-Implementation-0.06-6.el7.noarch                                                                                                       36/42 
  验证中      : 1:perl-TimeDate-2.30-2.el7.noarch                                                                                                                  37/42 
  验证中      : 1:perl-Digest-SHA-5.85-4.el7.x86_64                                                                                                                38/42 
  验证中      : perl-Data-OptList-0.107-9.el7.noarch                                                                                                               39/42 
  验证中      : perl-Net-LibIDN-0.12-15.el7.x86_64                                                                                                                 40/42 
  验证中      : perl-Digest-1.17-245.el7.noarch                                                                                                                    41/42 
  验证中      : perl-Email-Date-Format-1.002-15.el7.noarch                                                                                                         42/42 

已安装:
  perl-CPAN.noarch 0:1.9800-299.el7_9           perl-Config-Tiny.noarch 0:2.14-7.el7 perl-ExtUtils-MakeMaker.noarch 0:6.68-3.el7 perl-Log-Dispatch.noarch 0:2.41-1.el7.1
  perl-Parallel-ForkManager.noarch 0:1.18-2.el7

作为依赖被安装:
  gdbm-devel.x86_64 0:1.10-8.el7                              libdb-devel.x86_64 0:5.3.21-25.el7                    perl-Class-Load.noarch 0:0.20-3.el7                 
  perl-Data-OptList.noarch 0:0.107-9.el7                      perl-Digest.noarch 0:1.17-245.el7                     perl-Digest-SHA.x86_64 1:5.85-4.el7                 
  perl-Email-Date-Format.noarch 0:1.002-15.el7                perl-ExtUtils-Install.noarch 0:1.58-299.el7_9         perl-ExtUtils-Manifest.noarch 0:1.61-244.el7        
  perl-ExtUtils-ParseXS.noarch 1:3.18-3.el7                   perl-IO-Socket-IP.noarch 0:0.21-5.el7                 perl-IO-Socket-SSL.noarch 0:1.94-7.el7              
  perl-List-MoreUtils.x86_64 0:0.33-9.el7                     perl-MIME-Lite.noarch 0:3.030-1.el7                   perl-MIME-Types.noarch 0:1.38-2.el7                 
  perl-Mail-Sender.noarch 0:0.8.23-1.el7                      perl-Mail-Sendmail.noarch 0:0.79-21.el7               perl-MailTools.noarch 0:2.12-2.el7                  
  perl-Module-Implementation.noarch 0:0.06-6.el7              perl-Module-Runtime.noarch 0:0.013-4.el7              perl-Mozilla-CA.noarch 0:20130114-5.el7             
  perl-Net-LibIDN.x86_64 0:0.12-15.el7                        perl-Net-SMTP-SSL.noarch 0:1.01-13.el7                perl-Net-SSLeay.x86_64 0:1.55-6.el7                 
  perl-Package-DeprecationManager.noarch 0:0.13-7.el7         perl-Package-Stash.noarch 0:0.34-2.el7                perl-Package-Stash-XS.x86_64 0:0.26-3.el7           
  perl-Params-Util.x86_64 0:1.07-6.el7                        perl-Params-Validate.x86_64 0:1.08-4.el7              perl-Sub-Install.noarch 0:0.926-6.el7               
  perl-Sys-Syslog.x86_64 0:0.33-3.el7                         perl-TimeDate.noarch 1:2.30-2.el7                     perl-Try-Tiny.noarch 0:0.12-2.el7                   
  perl-devel.x86_64 4:5.16.3-299.el7_9                        perl-local-lib.noarch 0:1.008010-4.el7                pyparsing.noarch 0:1.5.6-9.el7                      
  systemtap-sdt-devel.x86_64 0:4.0-13.el7                    

完毕!

2.3..2 node

所有节点安装node(四台机子都需要)
        tar xf mha4mysql-node-0.57.tar.gz


        cd mha4mysql-node-0.57
        perl Makefile.PL && make && make install

[root@mgt ~]# cd mha4mysql-node-0.57
[root@mgt mha4mysql-node-0.57]# perl Makefile.PL && make && make install
*** Module::AutoInstall version 1.06
*** Checking for Perl dependencies...
[Core Features]
- DBI        ...loaded. (1.627)
- DBD::mysql ...loaded. (4.023)
*** Module::AutoInstall configuration finished.
Checking if your kit is complete...
Looks good
Writing Makefile for mha4mysql::node
cp lib/MHA/BinlogManager.pm blib/lib/MHA/BinlogManager.pm
cp lib/MHA/BinlogPosFindManager.pm blib/lib/MHA/BinlogPosFindManager.pm
cp lib/MHA/BinlogPosFinderXid.pm blib/lib/MHA/BinlogPosFinderXid.pm
cp lib/MHA/BinlogHeaderParser.pm blib/lib/MHA/BinlogHeaderParser.pm
cp lib/MHA/BinlogPosFinder.pm blib/lib/MHA/BinlogPosFinder.pm
cp lib/MHA/NodeUtil.pm blib/lib/MHA/NodeUtil.pm
cp lib/MHA/BinlogPosFinderElp.pm blib/lib/MHA/BinlogPosFinderElp.pm
cp lib/MHA/SlaveUtil.pm blib/lib/MHA/SlaveUtil.pm
cp lib/MHA/NodeConst.pm blib/lib/MHA/NodeConst.pm
cp bin/filter_mysqlbinlog blib/script/filter_mysqlbinlog
/usr/bin/perl "-Iinc" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/filter_mysqlbinlog
cp bin/apply_diff_relay_logs blib/script/apply_diff_relay_logs
/usr/bin/perl "-Iinc" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/apply_diff_relay_logs
cp bin/purge_relay_logs blib/script/purge_relay_logs
/usr/bin/perl "-Iinc" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/purge_relay_logs
cp bin/save_binary_logs blib/script/save_binary_logs
/usr/bin/perl "-Iinc" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/save_binary_logs
Manifying blib/man1/filter_mysqlbinlog.1
Manifying blib/man1/apply_diff_relay_logs.1
Manifying blib/man1/purge_relay_logs.1
Manifying blib/man1/save_binary_logs.1
Installing /usr/local/share/perl5/MHA/BinlogManager.pm
Installing /usr/local/share/perl5/MHA/BinlogPosFindManager.pm
Installing /usr/local/share/perl5/MHA/BinlogPosFinderXid.pm
Installing /usr/local/share/perl5/MHA/BinlogHeaderParser.pm
Installing /usr/local/share/perl5/MHA/BinlogPosFinder.pm
Installing /usr/local/share/perl5/MHA/NodeUtil.pm
Installing /usr/local/share/perl5/MHA/BinlogPosFinderElp.pm
Installing /usr/local/share/perl5/MHA/SlaveUtil.pm
Installing /usr/local/share/perl5/MHA/NodeConst.pm
Installing /usr/local/share/man/man1/filter_mysqlbinlog.1
Installing /usr/local/share/man/man1/apply_diff_relay_logs.1
Installing /usr/local/share/man/man1/purge_relay_logs.1
Installing /usr/local/share/man/man1/save_binary_logs.1
Installing /usr/local/bin/filter_mysqlbinlog
Installing /usr/local/bin/apply_diff_relay_logs
Installing /usr/local/bin/purge_relay_logs
Installing /usr/local/bin/save_binary_logs
Appending installation info to /usr/lib64/perl5/perllocal.pod

    验证
        cd /usr/local/bin
        看到脚本就OK

Mariadb高可用MHA (四十二)_第8张图片

2.3.3 manager (只在mgt上装)

tar xf mha4mysql-manager-0.57.tar.gz
cd /root/mha4mysql-manager-0.57
perl Makefile.PL && make && make install
cp sample/scripts/master_ip_failover /usr/local/bin/
cp sample/scripts/master_ip_online_change     /usr/local/bin/

[root@mgt ~]# cd mha4mysql-manager-0.57
[root@mgt mha4mysql-manager-0.57]# ls
AUTHORS  bin  COPYING  debian  inc  lib  Makefile.PL  MANIFEST  META.yml  README  rpm  samples  t  tests
[root@mgt mha4mysql-manager-0.57]# perl Makefile.PL && make && make install
*** Module::AutoInstall version 1.06
*** Checking for Perl dependencies...
[Core Features]
- DBI                   ...loaded. (1.627)
- DBD::mysql            ...loaded. (4.023)
- Time::HiRes           ...loaded. (1.9725)
- Config::Tiny          ...loaded. (2.14)
- Log::Dispatch         ...loaded. (2.41)
- Parallel::ForkManager ...loaded. (1.18)
- MHA::NodeConst        ...loaded. (0.57)
*** Module::AutoInstall configuration finished.
Checking if your kit is complete...
Looks good
Writing Makefile for mha4mysql::manager
cp lib/MHA/ManagerUtil.pm blib/lib/MHA/ManagerUtil.pm
cp lib/MHA/Config.pm blib/lib/MHA/Config.pm
cp lib/MHA/HealthCheck.pm blib/lib/MHA/HealthCheck.pm
cp lib/MHA/ServerManager.pm blib/lib/MHA/ServerManager.pm
cp lib/MHA/ManagerConst.pm blib/lib/MHA/ManagerConst.pm
cp lib/MHA/ManagerAdmin.pm blib/lib/MHA/ManagerAdmin.pm
cp lib/MHA/FileStatus.pm blib/lib/MHA/FileStatus.pm
cp lib/MHA/MasterFailover.pm blib/lib/MHA/MasterFailover.pm
cp lib/MHA/ManagerAdminWrapper.pm blib/lib/MHA/ManagerAdminWrapper.pm
cp lib/MHA/MasterMonitor.pm blib/lib/MHA/MasterMonitor.pm
cp lib/MHA/MasterRotate.pm blib/lib/MHA/MasterRotate.pm
cp lib/MHA/SSHCheck.pm blib/lib/MHA/SSHCheck.pm
cp lib/MHA/Server.pm blib/lib/MHA/Server.pm
cp lib/MHA/DBHelper.pm blib/lib/MHA/DBHelper.pm
cp bin/masterha_stop blib/script/masterha_stop
/usr/bin/perl "-Iinc" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/masterha_stop
cp bin/masterha_conf_host blib/script/masterha_conf_host
/usr/bin/perl "-Iinc" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/masterha_conf_host
cp bin/masterha_check_repl blib/script/masterha_check_repl
/usr/bin/perl "-Iinc" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/masterha_check_repl
cp bin/masterha_check_status blib/script/masterha_check_status
/usr/bin/perl "-Iinc" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/masterha_check_status
cp bin/masterha_master_monitor blib/script/masterha_master_monitor
/usr/bin/perl "-Iinc" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/masterha_master_monitor
cp bin/masterha_check_ssh blib/script/masterha_check_ssh
/usr/bin/perl "-Iinc" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/masterha_check_ssh
cp bin/masterha_master_switch blib/script/masterha_master_switch
/usr/bin/perl "-Iinc" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/masterha_master_switch
cp bin/masterha_secondary_check blib/script/masterha_secondary_check
/usr/bin/perl "-Iinc" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/masterha_secondary_check
cp bin/masterha_manager blib/script/masterha_manager
/usr/bin/perl "-Iinc" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/masterha_manager
Manifying blib/man1/masterha_stop.1
Manifying blib/man1/masterha_conf_host.1
Manifying blib/man1/masterha_check_repl.1
Manifying blib/man1/masterha_check_status.1
Manifying blib/man1/masterha_master_monitor.1
Manifying blib/man1/masterha_check_ssh.1
Manifying blib/man1/masterha_master_switch.1
Manifying blib/man1/masterha_secondary_check.1
Manifying blib/man1/masterha_manager.1
Installing /usr/local/share/perl5/MHA/ManagerUtil.pm
Installing /usr/local/share/perl5/MHA/Config.pm
Installing /usr/local/share/perl5/MHA/HealthCheck.pm
Installing /usr/local/share/perl5/MHA/ServerManager.pm
Installing /usr/local/share/perl5/MHA/ManagerConst.pm
Installing /usr/local/share/perl5/MHA/ManagerAdmin.pm
Installing /usr/local/share/perl5/MHA/FileStatus.pm
Installing /usr/local/share/perl5/MHA/MasterFailover.pm
Installing /usr/local/share/perl5/MHA/ManagerAdminWrapper.pm
Installing /usr/local/share/perl5/MHA/MasterMonitor.pm
Installing /usr/local/share/perl5/MHA/MasterRotate.pm
Installing /usr/local/share/perl5/MHA/SSHCheck.pm
Installing /usr/local/share/perl5/MHA/Server.pm
Installing /usr/local/share/perl5/MHA/DBHelper.pm
Installing /usr/local/share/man/man1/masterha_stop.1
Installing /usr/local/share/man/man1/masterha_conf_host.1
Installing /usr/local/share/man/man1/masterha_check_repl.1
Installing /usr/local/share/man/man1/masterha_check_status.1
Installing /usr/local/share/man/man1/masterha_master_monitor.1
Installing /usr/local/share/man/man1/masterha_check_ssh.1
Installing /usr/local/share/man/man1/masterha_master_switch.1
Installing /usr/local/share/man/man1/masterha_secondary_check.1
Installing /usr/local/share/man/man1/masterha_manager.1
Installing /usr/local/bin/masterha_stop
Installing /usr/local/bin/masterha_conf_host
Installing /usr/local/bin/masterha_check_repl
Installing /usr/local/bin/masterha_check_status
Installing /usr/local/bin/masterha_master_monitor
Installing /usr/local/bin/masterha_check_ssh
Installing /usr/local/bin/masterha_master_switch
Installing /usr/local/bin/masterha_secondary_check
Installing /usr/local/bin/masterha_manager
Appending installation info to /usr/lib64/perl5/perllocal.pod
[root@mgt mha4mysql-manager-0.57]# ls
AUTHORS  bin  blib  COPYING  debian  inc  lib  Makefile  Makefile.PL  MANIFEST  META.yml  pm_to_blib  README  rpm  samples  t  tests

Mariadb高可用MHA (四十二)_第9张图片

 脚本说明
    master_ip_failover    自动切换时 VIP 管理的脚本

#!/usr/bin/env perl
use strict;
use warnings FATAL => 'all';

use Getopt::Long;

my (
$command, $ssh_user, $orig_master_host, $orig_master_ip,
$orig_master_port, $new_master_host, $new_master_ip, $new_master_port
);
#############################添加内容部分#########################################
my $vip = '192.168.184.200';								#指定vip的地址
my $brdc = '192.168.184.255';								#指定vip的广播地址
my $ifdev = 'ens33';										#指定vip绑定的网卡
my $key = '1';												#指定vip绑定的虚拟网卡序列号
my $ssh_start_vip = "/sbin/ifconfig ens33:$key $vip";		#代表此变量值为ifconfig ens33:1 192.168.184.200
my $ssh_stop_vip = "/sbin/ifconfig ens33:$key down";		#代表此变量值为ifconfig ens33:1 192.168.184.200 down
my $exit_code = 0;											#指定退出状态码为0
#my $ssh_start_vip = "/usr/sbin/ip addr add $vip/24 brd $brdc dev $ifdev label $ifdev:$key;/usr/sbin/arping -q -A -c 1 -I $ifdev $vip;iptables -F;";
#my $ssh_stop_vip = "/usr/sbin/ip addr del $vip/24 dev $ifdev label $ifdev:$key";
##################################################################################
GetOptions(
'command=s' => \$command,
'ssh_user=s' => \$ssh_user,
'orig_master_host=s' => \$orig_master_host,
'orig_master_ip=s' => \$orig_master_ip,
'orig_master_port=i' => \$orig_master_port,
'new_master_host=s' => \$new_master_host,
'new_master_ip=s' => \$new_master_ip,
'new_master_port=i' => \$new_master_port,
);

exit &main();

sub main {

print "\n\nIN SCRIPT TEST====$ssh_stop_vip==$ssh_start_vip===\n\n";

if ( $command eq "stop" || $command eq "stopssh" ) {

my $exit_code = 1;
eval {
print "Disabling the VIP on old master: $orig_master_host \n";
&stop_vip();
$exit_code = 0;
};
if ($@) {
warn "Got Error: $@\n";
exit $exit_code;
}
exit $exit_code;
}
elsif ( $command eq "start" ) {

my $exit_code = 10;
eval {
print "Enabling the VIP - $vip on the new master - $new_master_host \n";
&start_vip();
$exit_code = 0;
};
if ($@) {
warn $@;
exit $exit_code;
}
exit $exit_code;
}
elsif ( $command eq "status" ) {
print "Checking the Status of the script.. OK \n";
exit 0;
}
else {
&usage();
exit 1;
}
}
sub start_vip() {
`ssh $ssh_user\@$new_master_host \" $ssh_start_vip \"`;
}
## A simple system call that disable the VIP on the old_master
sub stop_vip() {
`ssh $ssh_user\@$orig_master_host \" $ssh_stop_vip \"`;
}

sub usage {
print
"Usage: master_ip_failover --command=start|stop|stopssh|status --orig_master_host=host --orig_master_ip=ip --orig_master_port=port --new_master_host=host --new_master_ip=ip --new_master_port=port\n";
}

    master_ip_online_change    在线切换时 vip 的管理
    power_manager    故障发生后关闭主机的脚本
    send_report    因故障切换后发送报警的脚本

配置文件建立
    mkdir /etc/masterha
    vim /etc/masterha/app1.cnf

[server default]
manager_log=/var/log/masterha/app1/manager.log
manager_workdir=/var/log/masterha/app1
master_binlog_dir=/var/lib/mysql
master_ip_failover_script=/usr/local/bin/master_ip_failover
master_ip_online_change_script=/usr/local/bin/master_ip_online_change
password=123.com
ping_interval=1
remote_workdir=/tmp
repl_password=123.com
repl_user=myslave
secondary_check_script=/usr/local/bin/masterha_secondary_check -s 192.168.156.5 -s 192.168.156.6
shutdown_script=""
ssh_user=root
user=mha

[server1]
hostname=192.168.156.4
port=3306

[server2]
candidate_master=1
check_repl_delay=0
hostname=192.168.156.5
port=3306

[server3]
hostname=192.168.156.6
port=3306

mkdir /var/log/masterha/app1

 测试MHA
    masterha_check_ssh --conf=/etc/masterha/app1.cnf
    masterha_check_repl --conf=/etc/masterha/app1.cnf

[root@mgt ~]# masterha_check_repl --conf=/etc/masterha/app1.cnf
Wed Aug 16 09:33:43 2023 - [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping.
Wed Aug 16 09:33:43 2023 - [info] Reading application default configuration from /etc/masterha/app1.cnf..
Wed Aug 16 09:33:43 2023 - [info] Reading server configuration from /etc/masterha/app1.cnf..
Wed Aug 16 09:33:43 2023 - [info] MHA::MasterMonitor version 0.57.
Wed Aug 16 09:33:45 2023 - [info] GTID failover mode = 0
Wed Aug 16 09:33:45 2023 - [info] Dead Servers:
Wed Aug 16 09:33:45 2023 - [info] Alive Servers:
Wed Aug 16 09:33:45 2023 - [info]   192.168.156.4(192.168.156.4:3306)
Wed Aug 16 09:33:45 2023 - [info]   192.168.156.5(192.168.156.5:3306)
Wed Aug 16 09:33:45 2023 - [info]   192.168.156.6(192.168.156.6:3306)
Wed Aug 16 09:33:45 2023 - [info] Alive Slaves:
Wed Aug 16 09:33:45 2023 - [info]   192.168.156.5(192.168.156.5:3306)  Version=5.5.68-MariaDB (oldest major version between slaves) log-bin:enabled
Wed Aug 16 09:33:45 2023 - [info]     Replicating from 192.168.156.4(192.168.156.4:3306)
Wed Aug 16 09:33:45 2023 - [info]     Primary candidate for the new Master (candidate_master is set)
Wed Aug 16 09:33:45 2023 - [info]   192.168.156.6(192.168.156.6:3306)  Version=5.5.68-MariaDB (oldest major version between slaves) log-bin:enabled
Wed Aug 16 09:33:45 2023 - [info]     Replicating from 192.168.156.4(192.168.156.4:3306)
Wed Aug 16 09:33:45 2023 - [info] Current Alive Master: 192.168.156.4(192.168.156.4:3306)
Wed Aug 16 09:33:45 2023 - [info] Checking slave configurations..
Wed Aug 16 09:33:45 2023 - [info]  read_only=1 is not set on slave 192.168.156.5(192.168.156.5:3306).
Wed Aug 16 09:33:45 2023 - [warning]  relay_log_purge=0 is not set on slave 192.168.156.5(192.168.156.5:3306).
Wed Aug 16 09:33:45 2023 - [info]  read_only=1 is not set on slave 192.168.156.6(192.168.156.6:3306).
Wed Aug 16 09:33:45 2023 - [warning]  relay_log_purge=0 is not set on slave 192.168.156.6(192.168.156.6:3306).
Wed Aug 16 09:33:45 2023 - [info] Checking replication filtering settings..
Wed Aug 16 09:33:45 2023 - [info]  binlog_do_db= , binlog_ignore_db= 
Wed Aug 16 09:33:45 2023 - [info]  Replication filtering check ok.
Wed Aug 16 09:33:45 2023 - [info] GTID (with auto-pos) is not supported
Wed Aug 16 09:33:45 2023 - [info] Starting SSH connection tests..
Wed Aug 16 09:33:49 2023 - [info] All SSH connection tests passed successfully.
Wed Aug 16 09:33:49 2023 - [info] Checking MHA Node version..
Wed Aug 16 09:33:51 2023 - [info]  Version check ok.
Wed Aug 16 09:33:51 2023 - [info] Checking SSH publickey authentication settings on the current master..
Wed Aug 16 09:33:51 2023 - [info] HealthCheck: SSH to 192.168.156.4 is reachable.
Wed Aug 16 09:33:52 2023 - [info] Master MHA Node version is 0.57.
Wed Aug 16 09:33:52 2023 - [info] Checking recovery script configurations on 192.168.156.4(192.168.156.4:3306)..
Wed Aug 16 09:33:52 2023 - [info]   Executing command: save_binary_logs --command=test --start_pos=4 --binlog_dir=/var/lib/mysql --output_file=/tmp/save_binary_logs_test --manager_version=0.57 --start_file=master-bin.000003 
Wed Aug 16 09:33:52 2023 - [info]   Connecting to [email protected](192.168.156.4:22).. 
  Creating /tmp if not exists..    ok.
  Checking output directory is accessible or not..
   ok.
  Binlog found at /var/lib/mysql, up to master-bin.000003
Wed Aug 16 09:33:53 2023 - [info] Binlog setting check done.
Wed Aug 16 09:33:53 2023 - [info] Checking SSH publickey authentication and checking recovery script configurations on all alive slave servers..
Wed Aug 16 09:33:53 2023 - [info]   Executing command : apply_diff_relay_logs --command=test --slave_user='mha' --slave_host=192.168.156.5 --slave_ip=192.168.156.5 --slave_port=3306 --workdir=/tmp --target_version=5.5.68-MariaDB --manager_version=0.57 --relay_log_info=/var/lib/mysql/relay-log.info  --relay_dir=/var/lib/mysql/  --slave_pass=xxx
Wed Aug 16 09:33:53 2023 - [info]   Connecting to [email protected](192.168.156.5:22).. 
  Checking slave recovery environment settings..
    Opening /var/lib/mysql/relay-log.info ... ok.
    Relay log found at /var/lib/mysql, up to relay-bin.000002
    Temporary relay log file is /var/lib/mysql/relay-bin.000002
    Testing mysql connection and privileges.. done.
    Testing mysqlbinlog output.. done.
    Cleaning up test file(s).. done.
Wed Aug 16 09:33:54 2023 - [info]   Executing command : apply_diff_relay_logs --command=test --slave_user='mha' --slave_host=192.168.156.6 --slave_ip=192.168.156.6 --slave_port=3306 --workdir=/tmp --target_version=5.5.68-MariaDB --manager_version=0.57 --relay_log_info=/var/lib/mysql/relay-log.info  --relay_dir=/var/lib/mysql/  --slave_pass=xxx
Wed Aug 16 09:33:54 2023 - [info]   Connecting to [email protected](192.168.156.6:22).. 
  Checking slave recovery environment settings..
    Opening /var/lib/mysql/relay-log.info ... ok.
    Relay log found at /var/lib/mysql, up to relay-bin.000002
    Temporary relay log file is /var/lib/mysql/relay-bin.000002
    Testing mysql connection and privileges.. done.
    Testing mysqlbinlog output.. done.
    Cleaning up test file(s).. done.
Wed Aug 16 09:33:55 2023 - [info] Slaves settings check done.
Wed Aug 16 09:33:55 2023 - [info] 
192.168.156.4(192.168.156.4:3306) (current master)
 +--192.168.156.5(192.168.156.5:3306)
 +--192.168.156.6(192.168.156.6:3306)

Wed Aug 16 09:33:55 2023 - [info] Checking replication health on 192.168.156.5..
Wed Aug 16 09:33:55 2023 - [info]  ok.
Wed Aug 16 09:33:55 2023 - [info] Checking replication health on 192.168.156.6..
Wed Aug 16 09:33:55 2023 - [info]  ok.
Wed Aug 16 09:33:55 2023 - [info] Checking master_ip_failover_script status:
Wed Aug 16 09:33:55 2023 - [info]   /usr/local/bin/master_ip_failover --command=status --ssh_user=root --orig_master_host=192.168.156.4 --orig_master_ip=192.168.156.4 --orig_master_port=3306 


IN SCRIPT TEST====/sbin/ifconfig ens33:1 down==/sbin/ifconfig ens33:1 192.168.156.100===

Usage: master_ip_failover --command=start|stop|stopssh|status --orig_master_host=host --orig_master_ip=ip --orig_master_port=port --new_master_host=host --new_master_ip=ip --new_master_port=port
Wed Aug 16 09:33:55 2023 - [warning] shutdown_script is not defined.
Wed Aug 16 09:33:55 2023 - [info] Got exit code 0 (Not master dead).

MySQL Replication Health is OK.

启动命令
    nohup masterha_manager --conf=/etc/masterha/app1.cnf --remove_dead_master_conf --ignore_last_failover < /dev/null > /var/log/masterha/app1/manager.log 2>&1 &

 启动时masterIP异常
    需要工程手动配置VIP

2.3.4 测试

  停用master的mariadb服务

 master

 slave1

2.3.5  故障恢复

   修改app1.cnf启动配置
        添加master主机配置信息
    分别在slave上重新指定master主机及binlog日志同步信息


总结

总结来说,MHA是一种简单而有效的高可用解决方案,可以确保MySQL和MariaDB数据库在主节点故障时能够自动切换到可用的从节点上,从而保证数据库的连续性和可用性。

你可能感兴趣的:(lq,云计算运维学习,运维,云计算,linux)