MySQL+MHA的高可用集群解决方案

£神魔★判官ぃ 2022-02-02 05:11 441阅读 0赞

MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司的youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。

该软件由两部分组成:MHA Manager(管理节点)和MHA Node(数据节点)。

MHA Manager可以单独部署在一台独立的机器上管理多个master-slave集群,也可以部署在一台slave节点上。

MHA Node运行在每台MySQL服务器上,MHA Manager会定时探测集群中的master节点,当master出现故障时,它可以自动将最新数据的slave提升为新的master,然后将所有其他的slave重新指向新的master。整个故障转移过程对应用程序完全透明。

在MHA自动故障切换过程中,MHA试图从宕机的主服务器上保存二进制日志,最大程度的保证数据的不丢失,但这并不总是可行的。例如,如果主服务器硬件故障或无法通过ssh访问,MHA没法保存二进制日志,只进行故障转移而丢失了最新的数据。使用MySQL 5.5的半同步复制,可以大大降低数据丢失的风险。MHA可以与半同步复制结合起来。如果只有一个slave已经收到了最新的二进制日志,MHA可以将最新的二进制日志应用于其他所有的slave服务器上,因此可以保证所有节点的数据一致性。

目前MHA主要支持一主多从的架构。要搭建MHA,要求一个复制集群中必须最少有三台数据库服务器,一主二从,即一台充当master,一台充当备用master,另外一台充当从库。因为至少需要三台服务器,出于机器成本的考虑,淘宝也在该基础上进行了改造,目前淘宝TMHA已经支持一主一从。

一、MHA工作原理、功能

1、MHA工作原理总结为以下几条:

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

2、MHA提供了如下功能:

(1)master自动监控,故障转移一体化(Automated master monitoring and failover)

(2)MHA可以在一个复制组中监控master的状态,如果挂了,就可以自动的做failover。

(3)MHA通过所有slave的差异relay-log来保证数据的一致性。

(4)MHA在做故障转移,日志补偿这些动作的时候,通常只需要10~30秒。

(5)通常情况下,MHA会选择最新的slave作为new master,但是你也可以指定哪些是候选maser,那么新master选举的时候,就从这些host里面挑。

(6)导致复制环境中断的一致性问题,在MHA中是不会发生的,请放心使用。
在MHA自动故障切换过程中,MHA试图从宕机的主服务器上保存二进制日志,最大程度的保证数据的不丢失,但这并不总是可行的。例如,如果主服务器硬件故障或无法通过ssh访问,MHA没法保存二进制日志,只进行故障转移而丢失了最新的数据。使用MySQL 5.5及以上版本的半同步复制,可以大大降低数据丢失的风险。MHA可以与半同步复制结合起来。如果只有一个slave已经收到了最新的二进制日志,MHA可以将最新的二进制日志应用于其他所有的slave服务器上,因此可以保证所有节点的数据一致性。

(7)手工-交互式master故障转移(Interactive manually initiated Master Failover)

MHA可以配置成手工-交互式方式进行故障转移,不支持监控master的状态。

(8)非交互式master故障转移 (Non-interactive master failover)

非交互式,自动的故障转移,不提供监控master状态功能,监控可以交给其他组件做(如:Pacemaker heartbeat)。

(9)在线master切换 (Online switching master to a different host)

二、MHA组件介绍

MHA组件介绍MHA软件由两部分组成,Manager工具包和Node工具包,具体的说明如下。

Manager工具包主要包括以下几个工具:

(1)masterha_check_ssh #检查MHA的SSH配置状况;

(2)masterha_check_repl #检查MySQL复制状况;

(3)masterha_manger #启动MHA;

(4)masterha_check_status #检测当前MHA运行状态;

(5)masterha_master_monitor #检测master是否宕机;

(6)masterha_master_switch #控制故障转移(自动或者手动);

(7)masterha_conf_host #添加或删除配置的server信息;

Node工具包(这些工具通常由MHA Manager的脚本触发,无需人为操作)主要包括以下几个工具:

(1)save_binary_logs #保存和复制master的二进制日志;

(2)apply_diff_relay_logs #识别差异的中继日志事件并将其差异的事件应用于其他的slave;

(3)purge_relay_logs #清除中继日志(不会阻塞SQL线程);

注意: 为了尽可能的减少主库硬件损坏宕机造成的数据丢失,因此在配置MHA的同时建议配置成MySQL半同步复制

环境:

  • server1:172.25.70.1
  • server2:172.25.70.2
  • server3:172.25.70.3

三、搭建基于MySQL的MHA

1.关闭server1-3的mysqld服务;修改server1、server2、server3的msyqld配置文件

  • server1-3:

    systemctl stop mysqld

  • server1:

    vim /etc/my.cnf

    29 server_id=1
    30 gtid_mode=ON
    31 enforce_gtid_consistency=ON
    32 log_slave_updates=ON
    33 log_bin=binlog

  • server2:

    vim /etc/my.cnf

    29 server-id=2
    30 gtid_mode=ON
    31 enforce_gtid_consistency=ON
    32 log_slave_updates=ON
    33 log_bin=binlog

  • server3:

    vim /etc/my.cnf

    29 server-id=3
    30 gtid_mode=ON
    31 enforce_gtid_consistency=ON
    32 log_slave_updates=ON
    33 log_bin=binlog

2.初始化server3的mysqld服务

  1. [root@server3 ~]# cd /var/lib/mysql
  2. [root@server3 mysql]# ls
  3. auto.cnf binlog.index ib_buffer_pool performance_schema sys
  4. binlog.000001 ca-key.pem ibdata1 private_key.pem
  5. binlog.000002 ca.pem ib_logfile0 public_key.pem
  6. binlog.000003 client-cert.pem ib_logfile1 server-cert.pem
  7. binlog.000004 client-key.pem mysql server-key.pem
  8. [root@server3 mysql]# rm -fr *
  9. [root@server3 mysql]# systemctl start mysqld
  10. [root@server3 mysql]# cat /var/log/mysqld.log | grep password
  11. ==============================================================================
  12. 2019-05-03T00:04:13.360192Z 1 [Note] A temporary password is generated for root@localhost: (kkw=D?1,fu2
  13. 2019-05-03T01:11:12.145588Z 0 [Note] Shutting down plugin 'validate_password'
  14. 2019-05-03T01:11:13.674624Z 0 [Note] Shutting down plugin 'sha256_password'
  15. 2019-05-03T01:11:13.674629Z 0 [Note] Shutting down plugin 'mysql_native_passwor'
  16. 2019-05-03T03:01:23.405961Z 0 [Note] Shutting down plugin 'validate_password'
  17. 2019-05-03T03:01:24.718329Z 0 [Note] Shutting down plugin 'sha256_password'
  18. 2019-05-03T03:01:24.718331Z 0 [Note] Shutting down plugin 'mysql_native_passwor'
  19. 2019-05-03T03:08:43.045997Z 1 [Note] A temporary password is generated for root@localhost: MkT>18/5CK=)
  20. ==============================================================================
  21. [root@server3 mysql]# mysql -p
  22. Enter password:
  23. Welcome to the MySQL monitor. Commands end with ; or \g.
  24. Your MySQL connection id is 2
  25. Server version: 5.7.24-log
  26. Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  27. Oracle is a registered trademark of Oracle Corporation and/or its
  28. affiliates. Other names may be trademarks of their respective
  29. owners.
  30. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  31. mysql> alter user root@localhost identified by 'Mahao+123';
  32. Query OK, 0 rows affected (0.01 sec)
  33. mysql> SHOW DATABASES;
  34. +--------------------+
  35. | Database |
  36. +--------------------+
  37. | information_schema |
  38. | mysql |
  39. | performance_schema |
  40. | sys |
  41. +--------------------+
  42. 4 rows in set (0.00 sec)

3.为server3设置复制用户,并开启server3的slave线程

  1. mysql> change master to master_host='172.25.13.1',master_user='rep',master_password='Mahao+123',master_auto_position=1;
  2. Query OK, 0 rows affected, 2 warnings (0.04 sec)
  3. mysql> start slave;
  4. Query OK, 0 rows affected (0.00 sec)
  5. mysql> SHOW SLAVE STATUS\G
  6. *************************** 1. row ***************************
  7. Slave_IO_State: Waiting for master to send event
  8. Master_Host: 172.25.13.1
  9. Master_User: rep
  10. Master_Port: 3306
  11. Connect_Retry: 60
  12. Master_Log_File: binlog.000006
  13. Read_Master_Log_Pos: 526
  14. Relay_Log_File: server3-relay-bin.000008
  15. Relay_Log_Pos: 485
  16. Relay_Master_Log_File: binlog.000006
  17. Slave_IO_Running: Yes
  18. Slave_SQL_Running: Yes

#测试

4.主库写入信息

  • server1:

    mysql> show databases;
    +——————————+
    | Database |
    +——————————+
    | information_schema |
    | mysql |
    | performance_schema |
    | sys |
    | test |
    +——————————+
    5 rows in set (0.01 sec)

    mysql> drop database test

    1. -> ;

    Query OK, 1 row affected (0.02 sec)

    mysql> show databases;
    +——————————+
    | Database |
    +——————————+
    | information_schema |
    | mysql |
    | performance_schema |
    | sys |
    +——————————+
    4 rows in set (0.00 sec)

    mysql> CREATE DATABASE taylor;
    Query OK, 1 row affected (0.00 sec)

    mysql> use taylor;
    Database changed
    mysql> create table usertb (

    1. -> username varchar(10) not null,
    2. -> password varchar(15) not null);

    Query OK, 0 rows affected (0.02 sec)

    mysql> desc usertb;
    +—————+——————-+———+——-+————-+———-+
    | Field | Type | Null | Key | Default | Extra |
    +—————+——————-+———+——-+————-+———-+
    | username | varchar(10) | NO | | NULL | |
    | password | varchar(15) | NO | | NULL | |
    +—————+——————-+———+——-+————-+———-+
    2 rows in set (0.00 sec)

    mysql> insert into usertb values (‘user1’,’123’);
    Query OK, 1 row affected (0.00 sec)

    mysql> select * from usertb;
    +—————+—————+
    | username | password |
    +—————+—————+
    | user1 | 123 |
    +—————+—————+
    1 row in set (0.00 sec)

5.从库查看

  • server3:

    [root@server3 mysql]# mysql -p
    Enter password:
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 7
    Server version: 5.7.24-log MySQL Community Server (GPL)

    Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.

    Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

    mysql> SHOW DATABASES;
    +——————————+
    | Database |
    +——————————+
    | information_schema |
    | mysql |
    | performance_schema |
    | sys |
    | taylor |
    +——————————+
    5 rows in set (0.00 sec)

    mysql> use taylor
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A

    Database changed
    mysql> select * from usertb;
    +—————+—————+
    | username | password |
    +—————+—————+
    | user1 | 123 |
    +—————+—————+
    1 row in set (0.00 sec)

  • server1:

    mysql> SHOW GLOBAL VARIABLES LIKE ‘%gtid%’;
    +—————————————————+——————————————————————————————————————————+
    | Variable_name | Value |
    +—————————————————+——————————————————————————————————————————+
    | binlog_gtid_simple_recovery | ON |
    | enforce_gtid_consistency | ON |
    | gtid_executed | 742e05c2-6cad-11e9-a66b-52540075b0d5:1-8,
    f32c0a71-6c6f-11e9-8a9f-52540075b0d5:1-7 |
    | gtid_executed_compression_period | 1000 |
    | gtid_mode | ON |
    | gtid_owned | |
    | gtid_purged | |
    | session_track_gtids | OFF |
    +—————————————————+——————————————————————————————————————————+
    8 rows in set (0.00 sec)

    mysqldump —all-databases —single-transaction —triggers —routines —events —host=127.0.0.1 —port=3306 —user=root —password=Mahao+123 > Mahao.sql

  • server4:

安装MHA

  1. [root@server4 ~]# ls
  2. MHA-7
  3. [root@server4 ~]# cd
  4. .config/ .local/ MHA-7/ .ssh/
  5. [root@server4 ~]# cd MHA-7/
  6. [root@server4 MHA-7]# ls
  7. mha4mysql-manager-0.58-0.el7.centos.noarch.rpm
  8. mha4mysql-manager-0.58.tar.gz
  9. mha4mysql-node-0.58-0.el7.centos.noarch.rpm
  10. perl-Config-Tiny-2.14-7.el7.noarch.rpm
  11. perl-Email-Date-Format-1.002-15.el7.noarch.rpm
  12. perl-Log-Dispatch-2.41-1.el7.1.noarch.rpm
  13. perl-Mail-Sender-0.8.23-1.el7.noarch.rpm
  14. perl-Mail-Sendmail-0.79-21.el7.noarch.rpm
  15. perl-MIME-Lite-3.030-1.el7.noarch.rpm
  16. perl-MIME-Types-1.38-2.el7.noarch.rpm
  17. perl-Parallel-ForkManager-1.18-2.el7.noarch.rpm

1.先安装依赖

  1. [root@server4 MHA-7]# yum install -y perl*

2.安装MHA

  1. [root@server4 MHA-7]# yum install -y mha4mysql-manager-0.58-0.el7.centos.noarch.rpm mha4mysql-node-0.58-0.el7.centos.noarch.rpm

3.生成ssh验证密钥

  1. [root@server4 MHA-7]# ssh-keygen
  2. Generating public/private rsa key pair.
  3. Enter file in which to save the key (/root/.ssh/id_rsa):
  4. Enter passphrase (empty for no passphrase):
  5. Enter same passphrase again:
  6. Your identification has been saved in /root/.ssh/id_rsa.
  7. Your public key has been saved in /root/.ssh/id_rsa.pub.
  8. The key fingerprint is:
  9. ea:fd:44:c4:e1:41:20:10:d4:d7:b5:d4:ba:f5:08:69 root@server4
  10. The key's randomart image is:
  11. +--[ RSA 2048]----+
  12. | .++. .++.o. |
  13. | ...o.+ .. |
  14. | . + .o |
  15. | . E . |
  16. | S .. + o |
  17. | . . . . .|
  18. | . . |
  19. | . . . |
  20. | . ... |
  21. +-----------------+

4.发送公钥到server1—server3

  1. ssh-copy-id server1
  2. ssh-copy-id server2
  3. ssh-copy-id server3

#验证

  1. ssh server1
  2. ssh server2
  3. ssh server3

5.给server1-3发送mha4mysql-node-0.58-0.el7.centos.noarch.rpm,并安装

  1. [root@server1 ~]# yum install -y mha4mysql-node-0.58-0.el7.centos.noarch.rpm
  2. [root@server2 ~]# yum install -y mha4mysql-node-0.58-0.el7.centos.noarch.rpm
  3. [root@server3 ~]# yum install -y mha4mysql-node-0.58-0.el7.centos.noarch.rpm

6.server4创建目录,并编写配置文件

  1. [root@server4 MHA-7]# mkdir -p /etc/masterha
  2. [root@server4 MHA-7]# cd /etc/masterha/
  3. [root@server4 masterha]# ls
  4. [root@server4 masterha]#
  5. [root@server4 masterha]# vim app1.cnf
  6. =============================================
  7. [server default]
  8. manager_workdir=/etc/masterha
  9. manager_log=/var/log/masterha.log
  10. master_binlog_dir=/etc/masterha
  11. #master_ip_failover_script= /usr/local/bin/master_ip_failover
  12. #master_ip_online_change_script= /usr/local/bin/master_ip_online_change
  13. password=Mahao+123
  14. user=root
  15. ping_interval=1
  16. remote_workdir=/tmp
  17. repl_password=Mahao+123
  18. repl_user=repl
  19. #report_script=/usr/local/send_report
  20. #secondary_check_script= /usr/local/bin/masterha_secondary_check -s server03 -s server02
  21. #shutdown_script=""
  22. ssh_user=root
  23. [server1]
  24. hostname=172.25.13.1
  25. port=3306
  26. [server2]
  27. hostname=172.25.13.2
  28. port=3306
  29. candidate_master=1
  30. check_repl_delay=0
  31. [server3]
  32. hostname=172.25.13.3
  33. port=3306
  34. no_master=1

7.ssh验证

  1. [root@server4 masterha]# masterha_check_ssh --conf=/etc/masterha/app1.cnf
  2. Fri May 3 14:27:19 2019 - [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping.
  3. Fri May 3 14:27:19 2019 - [info] Reading application default configuration from /etc/masterha/app1.cnf..
  4. Fri May 3 14:27:19 2019 - [info] Reading server configuration from /etc/masterha/app1.cnf..
  5. Fri May 3 14:27:19 2019 - [info] Starting SSH connection tests..
  6. Fri May 3 14:27:19 2019 - [error][/usr/share/perl5/vendor_perl/MHA/SSHCheck.pm, ln63]
  7. Fri May 3 14:27:19 2019 - [debug] Connecting via SSH from root@172.25.13.1(172.25.13.1:22) to root@172.25.13.2(172.25.13.2:22)..
  8. Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
  9. Fri May 3 14:27:19 2019 - [error][/usr/share/perl5/vendor_perl/MHA/SSHCheck.pm, ln111] SSH connection from root@172.25.13.1(172.25.13.1:22) to root@172.25.13.2(172.25.13.2:22) failed!
  10. Fri May 3 14:27:20 2019 - [error][/usr/share/perl5/vendor_perl/MHA/SSHCheck.pm, ln63]
  11. Fri May 3 14:27:19 2019 - [debug] Connecting via SSH from root@172.25.13.2(172.25.13.2:22) to root@172.25.13.1(172.25.13.1:22)..
  12. Warning: Permanently added '172.25.13.1' (ECDSA) to the list of known hosts.
  13. Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
  14. Fri May 3 14:27:19 2019 - [error][/usr/share/perl5/vendor_perl/MHA/SSHCheck.pm, ln111] SSH connection from root@172.25.13.2(172.25.13.2:22) to root@172.25.13.1(172.25.13.1:22) failed!
  15. Fri May 3 14:27:20 2019 - [error][/usr/share/perl5/vendor_perl/MHA/SSHCheck.pm, ln63]
  16. Fri May 3 14:27:20 2019 - [debug] Connecting via SSH from root@172.25.13.3(172.25.13.3:22) to root@172.25.13.1(172.25.13.1:22)..
  17. Warning: Permanently added '172.25.13.1' (ECDSA) to the list of known hosts.
  18. Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
  19. Fri May 3 14:27:20 2019 - [error][/usr/share/perl5/vendor_perl/MHA/SSHCheck.pm, ln111] SSH connection from root@172.25.13.3(172.25.13.3:22) to root@172.25.13.1(172.25.13.1:22) failed!
  20. SSH Configuration Check Failed!
  21. at /usr/bin/masterha_check_ssh line 44.

8.给server1-3发送/root/.ssh/目录

  1. [root@server4 masterha]# scp -r ~/.ssh server1:
  2. known_hosts 100% 718 0.7KB/s 00:00
  3. authorized_keys 100% 831 0.8KB/s 00:00
  4. id_rsa 100% 1675 1.6KB/s 00:00
  5. id_rsa.pub 100% 394 0.4KB/s 00:00
  6. [root@server4 masterha]# scp -r ~/.ssh server2:
  7. known_hosts 100% 718 0.7KB/s 00:00
  8. authorized_keys 100% 831 0.8KB/s 00:00
  9. id_rsa 100% 1675 1.6KB/s 00:00
  10. id_rsa.pub 100% 394 0.4KB/s 00:00
  11. [root@server4 masterha]# scp -r ~/.ssh server3:
  12. known_hosts 100% 718 0.7KB/s 00:00
  13. authorized_keys 100% 831 0.8KB/s 00:00
  14. id_rsa 100% 1675 1.6KB/s 00:00
  15. id_rsa.pub
  16. =====================================================================================
  17. #自己特殊设定的解决方式
  18. [root@server4 masterha]# cd ~/.ssh/
  19. [root@server4 .ssh]# ls
  20. authorized_keys id_rsa id_rsa.pub known_hosts
  21. [root@server4 .ssh]# scp id_rsa id_rsa.pub known_hosts server1:~/.ssh/
  22. id_rsa 100% 1675 1.6KB/s 00:00
  23. id_rsa.pub 100% 394 0.4KB/s 00:00
  24. known_hosts 100% 718 0.7KB/s 00:00
  25. [root@server4 .ssh]# scp id_rsa id_rsa.pub known_hosts server2:~/.ssh/
  26. id_rsa 100% 1675 1.6KB/s 00:00
  27. id_rsa.pub 100% 394 0.4KB/s 00:00
  28. known_hosts 100% 718 0.7KB/s 00:00
  29. [root@server4 .ssh]# scp id_rsa id_rsa.pub known_hosts server3:~/.ssh/
  30. id_rsa 100% 1675 1.6KB/s 00:00
  31. id_rsa.pub 100% 394 0.4KB/s 00:00
  32. known_hosts 100% 718 0.7KB/s 00:00
  33. [root@server4 .ssh]#
  34. ======================================================================================

再次检测ssh

  1. [root@server4 .ssh]# masterha_check_ssh --conf=/etc/masterha/app1.cnf
  2. Fri May 3 14:40:44 2019 - [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping.
  3. Fri May 3 14:40:44 2019 - [info] Reading application default configuration from /etc/masterha/app1.cnf..
  4. Fri May 3 14:40:44 2019 - [info] Reading server configuration from /etc/masterha/app1.cnf..
  5. Fri May 3 14:40:44 2019 - [info] Starting SSH connection tests..
  6. Fri May 3 14:40:44 2019 - [debug]
  7. Fri May 3 14:40:44 2019 - [debug] Connecting via SSH from root@172.25.13.1(172.25.13.1:22) to root@172.25.13.2(172.25.13.2:22)..
  8. Fri May 3 14:40:44 2019 - [debug] ok.
  9. Fri May 3 14:40:44 2019 - [debug] Connecting via SSH from root@172.25.13.1(172.25.13.1:22) to root@172.25.13.3(172.25.13.3:22)..
  10. Fri May 3 14:40:44 2019 - [debug] ok.
  11. Fri May 3 14:40:45 2019 - [debug]
  12. Fri May 3 14:40:44 2019 - [debug] Connecting via SSH from root@172.25.13.2(172.25.13.2:22) to root@172.25.13.1(172.25.13.1:22)..
  13. Fri May 3 14:40:44 2019 - [debug] ok.
  14. Fri May 3 14:40:44 2019 - [debug] Connecting via SSH from root@172.25.13.2(172.25.13.2:22) to root@172.25.13.3(172.25.13.3:22)..
  15. Fri May 3 14:40:44 2019 - [debug] ok.
  16. Fri May 3 14:40:45 2019 - [debug]
  17. Fri May 3 14:40:45 2019 - [debug] Connecting via SSH from root@172.25.13.3(172.25.13.3:22) to root@172.25.13.1(172.25.13.1:22)..
  18. Fri May 3 14:40:45 2019 - [debug] ok.
  19. Fri May 3 14:40:45 2019 - [debug] Connecting via SSH from root@172.25.13.3(172.25.13.3:22) to root@172.25.13.2(172.25.13.2:22)..
  20. Fri May 3 14:40:45 2019 - [debug] ok.
  21. Fri May 3 14:40:45 2019 - [info] All SSH connection tests passed successfully.
  22. [root@server4 .ssh]#

检测repl

  1. [root@server4 .ssh]# masterha_check_repl --conf=/etc/masterha/app1.cnf
  2. ==========================================================================
  3. Fri May 3 14:43:04 2019 - [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping.
  4. Fri May 3 14:43:04 2019 - [info] Reading application default configuration from /etc/masterha/app1.cnf..
  5. Fri May 3 14:43:04 2019 - [info] Reading server configuration from /etc/masterha/app1.cnf..
  6. Fri May 3 14:43:04 2019 - [info] MHA::MasterMonitor version 0.58.
  7. Fri May 3 14:43:05 2019 - [error][/usr/share/perl5/vendor_perl/MHA/ServerManager.pm, ln188] There is no alive server. We can't do failover
  8. Fri May 3 14:43:05 2019 - [error][/usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm, ln427] Error happened on checking configurations. at /usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm line 329.
  9. Fri May 3 14:43:05 2019 - [error][/usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm, ln525] Error happened on monitoring servers.
  10. Fri May 3 14:43:05 2019 - [info] Got exit code 1 (Not master dead).
  11. MySQL Replication Health is NOT OK!

#有报错

server1提供授权

  • server1:

    [root@server1 ~]# systemctl start mysqld

    [root@server1 ~]# mysql -p

    Enter password:
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 2
    Server version: 5.7.24-log MySQL Community Server (GPL)

    Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.

    Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

    mysql> grant all on . to root@’%’ identified by ‘Mahao+123’;
    Query OK, 0 rows affected, 1 warning (0.00 sec)

#再次检测

发表评论

表情:
评论列表 (有 0 条评论,441人围观)

还没有评论,来说两句吧...

相关阅读

    相关 可用

    什么是高可用集群呢?以前我不知道的时候感觉这东西很高端的说,等明白了以后发现高可用集群也就是当一台主机出现故障(包括物理故障和服务故障)后,在很短时间内有其它服务器来接替它的工