zoukankan      html  css  js  c++  java
  • MySQL MHA安装配置

    1.环境规划

    192.168.12.131 node01
    192.168.12.132 node02
    192.168.12.133 node03
    

    2.环境准备

    一主两从GTID,略。

    3.配置关键程序软连接(所有节点)

    ln -s /usr/local/mysql/bin/mysqlbinlog /usr/bin/mysqlbinlog
    ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
    

    4.配置各节点互信(密钥对)

    node01:
    rm ‐rf /root/.ssh
    ssh‐keygen
    cd /root/.ssh
    mv id_rsa.pub authorized_keys
    scp ‐r /root/.ssh 192.168.12.132:/root
    scp ‐r /root/.ssh 192.168.12.133:/root
    
    验证:
    node01:
    ssh 192.168.12.132 date
    ssh 192.168.12.133 date
    
    node02:
    ssh 192.168.12.131 date
    ssh 192.168.12.133 date
    
    node03:
    ssh 192.168.12.131 date
    ssh 192.168.12.132 date
    

       

    5.安装软件

    #node软件和manager软件下载连接:
    https://github.com/yoshinorim/mha4mysql-manager/releases/tag/v0.58
    https://github.com/yoshinorim/mha4mysql-node/releases/tag/v0.58
    
    #所有节点安装node软件依赖包
    yum install perl‐DBD‐MySQL ‐y
    
    #安装node软件
    rpm -ivh mha4mysql-node-0.58-0.el7.centos.noarch
    
    #在主库中创建mha需要的用户 
    grant all privileges on *.* to mha@'192.168.12.%' identified by 'mha'; 
    
    #node03节点安装manager软件依赖包
    yum install ‐y perl‐Config‐Tiny epel‐release perl‐Log‐Dispatch perl‐Parallel‐ForkManager perl‐Time‐HiRes 
    
    #安装manager软件
    rpm -ivh mha4mysql-manager-0.58-0.el7.centos.noarch
    

      

    6.Manager配置文件准备 

    #创建配置文件目录 
    mkdir ‐p /etc/mha 
    #创建日志目录 
    mkdir ‐p /var/log/mha/app1 
    #编辑mha配置文件 
    [root@node03 ~]# vim /etc/mha/app1.cnf
    [server default]
    manager_log=/var/log/mha/app1/manager
    manager_workdir=/var/log/mha/app1
    master_binlog_dir=/mysql/binlog
    user=mha
    password=mysql
    ping_interval=2
    repl_password=mysql
    repl_user=repl
    ssh_user=mysql
    [server1]
    hostname=192.168.12.131
    port=3306
    [server2]
    hostname=192.168.12.132
    port=3306
    [server3]
    hostname=192.168.12.133
    port=3306
    

    7.状态检查

    检查互信:
    [root@node03 ~]$ masterha_check_ssh --conf=/etc/mha/app1.cnf                                                  
    Sat Jul 11 20:02:04 2020 - [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping.
    Sat Jul 11 20:02:04 2020 - [info] Reading application default configuration from /etc/mha/app1.cnf..
    Sat Jul 11 20:02:04 2020 - [info] Reading server configuration from /etc/mha/app1.cnf..
    Sat Jul 11 20:02:04 2020 - [info] Starting SSH connection tests..
    Sat Jul 11 20:02:05 2020 - [debug]
    Sat Jul 11 20:02:04 2020 - [debug]  Connecting via SSH from root@192.168.12.131(192.168.12.131:22) to root@192.168.12.132(192.168.12.132:22)..
    Sat Jul 11 20:02:05 2020 - [debug]   ok.
    Sat Jul 11 20:02:05 2020 - [debug]  Connecting via SSH from root@192.168.12.131(192.168.12.131:22) to root@192.168.12.133(192.168.12.133:22)..
    Sat Jul 11 20:02:05 2020 - [debug]   ok.
    Sat Jul 11 20:02:06 2020 - [debug]
    Sat Jul 11 20:02:05 2020 - [debug]  Connecting via SSH from root@192.168.12.132(192.168.12.132:22) to root@192.168.12.131(192.168.12.131:22)..
    Sat Jul 11 20:02:05 2020 - [debug]   ok.
    Sat Jul 11 20:02:05 2020 - [debug]  Connecting via SSH from root@192.168.12.132(192.168.12.132:22) to root@192.168.12.133(192.168.12.133:22)..
    Sat Jul 11 20:02:06 2020 - [debug]   ok.
    Sat Jul 11 20:02:07 2020 - [debug]
    Sat Jul 11 20:02:05 2020 - [debug]  Connecting via SSH from root@192.168.12.133(192.168.12.133:22) to root@192.168.12.131(192.168.12.131:22)..
    Sat Jul 11 20:02:06 2020 - [debug]   ok.
    Sat Jul 11 20:02:06 2020 - [debug]  Connecting via SSH from root@192.168.12.133(192.168.12.133:22) to root@192.168.12.132(192.168.12.132:22)..
    Sat Jul 11 20:02:06 2020 - [debug]   ok.
    Sat Jul 11 20:02:07 2020 - [info] All SSH connection tests passed successfully.
    
    
    检查主从复制状态:
    [root@node03 ~]$ masterha_check_repl --conf=/etc/mha/app1.cnf                                                 
    Sat Jul 11 20:03:29 2020 - [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping.
    Sat Jul 11 20:03:29 2020 - [info] Reading application default configuration from /etc/mha/app1.cnf..
    Sat Jul 11 20:03:29 2020 - [info] Reading server configuration from /etc/mha/app1.cnf..
    Sat Jul 11 20:03:29 2020 - [info] MHA::MasterMonitor version 0.58.
    Sat Jul 11 20:03:30 2020 - [info] GTID failover mode = 1
    Sat Jul 11 20:03:30 2020 - [info] Dead Servers:
    Sat Jul 11 20:03:30 2020 - [info] Alive Servers:
    Sat Jul 11 20:03:30 2020 - [info]   192.168.12.131(192.168.12.131:3306)
    Sat Jul 11 20:03:30 2020 - [info]   192.168.12.132(192.168.12.132:3306)
    Sat Jul 11 20:03:30 2020 - [info]   192.168.12.133(192.168.12.133:3306)
    Sat Jul 11 20:03:30 2020 - [info] Alive Slaves:
    Sat Jul 11 20:03:30 2020 - [info]   192.168.12.132(192.168.12.132:3306)  Version=5.7.29-log (oldest major version between slaves) log-bin:enabled
    Sat Jul 11 20:03:30 2020 - [info]     GTID ON
    Sat Jul 11 20:03:30 2020 - [info]     Replicating from 192.168.12.131(192.168.12.131:3306)
    Sat Jul 11 20:03:30 2020 - [info]   192.168.12.133(192.168.12.133:3306)  Version=5.7.29-log (oldest major version between slaves) log-bin:enabled
    Sat Jul 11 20:03:30 2020 - [info]     GTID ON
    Sat Jul 11 20:03:30 2020 - [info]     Replicating from 192.168.12.131(192.168.12.131:3306)
    Sat Jul 11 20:03:30 2020 - [info] Current Alive Master: 192.168.12.131(192.168.12.131:3306)
    Sat Jul 11 20:03:30 2020 - [info] Checking slave configurations..
    Sat Jul 11 20:03:30 2020 - [info]  read_only=1 is not set on slave 192.168.12.132(192.168.12.132:3306).
    Sat Jul 11 20:03:30 2020 - [info]  read_only=1 is not set on slave 192.168.12.133(192.168.12.133:3306).
    Sat Jul 11 20:03:30 2020 - [info] Checking replication filtering settings..
    Sat Jul 11 20:03:30 2020 - [info]  binlog_do_db= , binlog_ignore_db=
    Sat Jul 11 20:03:30 2020 - [info]  Replication filtering check ok.
    Sat Jul 11 20:03:30 2020 - [info] GTID (with auto-pos) is supported. Skipping all SSH and Node package checking.
    Sat Jul 11 20:03:30 2020 - [info] Checking SSH publickey authentication settings on the current master..
    Sat Jul 11 20:03:31 2020 - [info] HealthCheck: SSH to 192.168.12.131 is reachable.
    Sat Jul 11 20:03:31 2020 - [info]
    192.168.12.131(192.168.12.131:3306) (current master)
     +--192.168.12.132(192.168.12.132:3306)
     +--192.168.12.133(192.168.12.133:3306)
    
    Sat Jul 11 20:03:31 2020 - [info] Checking replication health on 192.168.12.132..
    Sat Jul 11 20:03:31 2020 - [info]  ok.
    Sat Jul 11 20:03:31 2020 - [info] Checking replication health on 192.168.12.133..
    Sat Jul 11 20:03:31 2020 - [info]  ok.
    Sat Jul 11 20:03:31 2020 - [warning] master_ip_failover_script is not defined.
    Sat Jul 11 20:03:31 2020 - [warning] shutdown_script is not defined.
    Sat Jul 11 20:03:31 2020 - [info] Got exit code 0 (Not master dead).
    
    MySQL Replication Health is OK.
    

        

    8.开启MHA-manager

    [root@node03 ~]#nohup masterha_manager ‐‐conf=/etc/mha/app1.cnf ‐‐remove_dead_master_conf ‐‐ignore_last_failover < /dev/null> /var/log/mha/app1/manager.log 2>&1 &
    

    10.查看MHA状态

    [root@node03 ~]# masterha_check_status --conf=/etc/mha/app1.cnf
    app1 (pid:1827) is running(0:PING_OK), master:192.168.12.131
    

     

     

  • 相关阅读:
    项目
    Cache Code
    是什么限制了我们面向对象
    程序设计语言本质
    不要迷失在技术的海洋中
    程序是给自己看的还是给别人看的
    程序员的春天
    新手如何学习一门新的语言
    无废话C#设计模式之二十:Mediator
    (原创)代码分析-DataGrid实现增删(带提示)改和分页
  • 原文地址:https://www.cnblogs.com/orcl-2018/p/13285227.html
Copyright © 2011-2022 走看看