zoukankan      html  css  js  c++  java
  • MHA(MySQL集群)

    一、MHA集群

      (1)无密码连接

      (2)配置主从(如果主机宕机那么 MHA 会在从库上选择数据最接近主库的从库 做为新的主机 另外一个自动作为新主机的从库)

      (3)MHA工作过程

        

    二、装包配置

      (1)所有主机安装 MHA为perl语音写的 安装 MHA所需要的

      (2)配置一主多从

      (3)管理集群的命令  

        在管理节点上安装

        

        perl  Makefile.pl  检查perl的依赖包

        

       (4)编辑主配置文件

        需要自己创建工作目录 在源码文件中复制app1.cnf文件

        [root@mgm57 ~ ]#  mkdir  /etc/mha  //创建工作目录
        [root@mgm57 ~ ]#  cp mha4mysql-manager-0.56/sample/conf/app1.cnf /etc/mha/ //拷贝模板文件
        [root@mgm57 ~ ]#  vim /etc/mha/app1.cnf   //编辑主配置文件
             [server default]     //管理服务默认配置
                        manager_workdir=/etc/mha    //工作目录
                        manager_log=/etc/mha/manager.log   //日志文件
                        master_ip_failover_script=/etc/mha/master_ip_failover //故障切换脚本
                         ssh_user=root  //访问ssh服务用户
                         ssh_port=22    //ssh服务端口
                         repl_user=repluser           //主服务器数据同步授权用户
                         repl_password=123qqq…A    //密码
                         user=root                   //监控用户
                         password=123qqq…A               //密码
                [server1]   //指定第1台数据库服务器
        hostname=192.168.4.51    //服务器ip地址
        port=3306                //服务端口
        candidate_master=1               //竞选主服务器
        [server2]  //指定第2台数据库服务器
        hostname=192.168.4.52
        port=3306
        candidate_master=1  
                    
        [server3]  //指定第3台数据库服务器
        hostname=192.168.4.53
        port=3306
        candidate_master=1
        :wq
     

       (5)创建故障切换脚本   

    [root@mgm57 ~]# vim +35 /etc/mha/master_ip_failover
    my $vip = '192.168.4.100/24';  # Virtual IP  //定义VIP地址
    my $key = "1"; //定义变量$key
    my $ssh_start_vip = "/sbin/ifconfig eth0:$key $vip"; //部署vip地址命令
    my $ssh_stop_vip = "/sbin/ifconfig eth0:$key down"; //释放vip地址命令
    :wq
    

       (6)给主服务器绑定vip(在主服务器宕机后vip会飘到下一个选举的主机上)

         

        [root@host51 ~]# ifconfig  eth0:1  //部署之前查看 
        eth0:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
                ether 52:54:00:d8:10:d7  txqueuelen 1000  (Ethernet)
        [root@host51 ~]# ifconfig  eth0:1  192.168.4.100  //部署vip地址(这个是临时的重启就没了需要永久还是在文件中配置)
        [root@host51 ~]# ifconfig  eth0:1 //部署后查看
        eth0:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
                inet 192.168.4.100  netmask 255.255.255.0  broadcast 192.168.4.255
                ether 52:54:00:d8:10:d7  txqueuelen 1000  (Ethernet)
    

      (7)配置MySQL节点 在所有的数据库上安装MHA_node软件包

        

    rpm -ivh mha4mysql-node-0.56-0.el6.noarch.rpm   

        每台服务器添加监控用户(如果配置主从只需要在主库操作)

    grant all on  *.*  to root@"%" identified by "123qqq...A";
    

       每台服务器添加数据同步连接用户(每台服务器都可能成为主库)

     

    grant replication slave on  *.*  to repluser@"%" identified by "123qqq...A";
    

      (8)所有数据库启用半同步复制模式和 禁止自动删除所有主机上的中继日志

        

       (9)在从库上 定义 server_id 和 binlog日志

       (10)测试 ssh

           

       (11)测试 主从同步

           

       (12)启动管理服务

          

     三、修复故障机器

      (1)与主服务器数据一致

      (2)指定主库 开启start slave 

      (3)在MHA配置文件中添加故障主机的信息

      (4)测试ssh 和 主从同步 

      (5)重启 MHA 

        

  • 相关阅读:
    前端性能优化-雅虎军规
    Webpack简易入门教程
    orm框架的使用
    【Nginx】使用nginx反向代理IIS实现80端口的解放
    【开发调试】谷歌浏览器中调试移动网页和测试网速下页面效果
    Identity4实现服务端+api资源控制+客户端请求
    【问题】VS问题集合,不用也要收藏防止以后使用找不到
    【worker】js中的多线程
    pdf.js插件使用记录,在线打开pdf
    【CSS】小妙招,各种问题总结方法处理
  • 原文地址:https://www.cnblogs.com/zshBlos/p/13127638.html
Copyright © 2011-2022 走看看