• HAProxy + mysql 配置


    两台mysql机器 mysql1: 192.168.117.145

            mysql2: 192.168.117.148

    1. 下载haproxy 的安装包

        

    wget http://pkgs.fedoraproject.org/repo/pkgs/haproxy/haproxy-1.7.9.tar.gz/sha512/d1ed791bc9607dbeabcfc6a1853cf258e28b3a079923b63d3bf97504dd59e64a5f5f44f9da968c23c12b4279e8d45ff3bd39418942ca6f00d9d548c9a0ccfd73/haproxy-1.7.9.tar.gz

    2. 解压

      

    tar xzvf haproxy*

    3.进入解压目录:

      

    cd haproxy*
    

    4.源码编译

    sudo make TARGET=linux2628 PREFIX=/usr/local/haproxy 

      注意的是大小写,若改成小写,编译不通过或没有编译到指定路径下

      查询内核版本: uname -r ,通过cat README 可以知道编译平台的版本号,新版本的Ubuntu为linux2628

    5.安装

    sudo make install PREFIX=/usr/local/haproxy

    6.编写配置文件

      

    cd /usr/local/haproxy 
    sudo vi haproxy.cfg

    填写如下内容:

      

    ###########全局配置#########
    global
     daemon
     nbproc 1
     pidfile /var/run/haproxy.pid
    
    ########默认配置############
    defaults
     mode http #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK
     retries 2 #两次连接失败就认为是服务器不可用,也可以通过后面设置
    option redispatch #当serverId对应的服务器挂掉后,强制定向到其他健康的服务器
    option abortonclose #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接
    maxconn 4096 #默认的最大连接数
    timeout connect 5000ms #连接超时
    timeout client 30000ms #客户端超时
    timeout server 30000ms #服务器超时
    #timeout check 2000 #=心跳检测超时
    log 127.0.0.1 local0 err #[err warning info debug]
    
    
    listen mysql-lb1
        # 绑定的IP和端口 haproxy服务器一个网卡IP
        bind *:3307     
        # 模式是TCP
        mode tcp
        # 通过mysql连接去检测mysql是否可以访问 创建用户haproxy_check 密码为空,权限usage
        option mysql-check user haproxy 
        # 负载均衡算法是 轮询
        balance roundrobin
        # 下面两个就是后端被访问的server
        server mysql_1 192.168.117.145:3306 weight 1 check
        server mysql_2 192.168.117.148:3306 weight 1 check
    
    # 自带的监控服务器的配置
    # 监控服务的端口是 8888
    listen stats
           bind *:1088 
           # 监控模式是http
           mode http
           option httpclose
           balance roundrobin
           stats uri /
           stats realm Haproxy Statistics
           # 监控的用户名和密码
           stats auth myadmin:myadmin
    haproxy  是mysql的用户,可以通过 CREATE USER  haproxy  命令进行创建

    7.运行haproxy

      

    sudo /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg

    8. 让其开机自动运行:

    sudo vi /etc/rc.local

      在文档最后添加:

    /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg

    9.测试

      访问:  安装HAProxy IP:1088  如: http://192.168.117.148:1088/

    用户名/密码  myadmin/myadmin

    登录后可以看到两台mysql主机已经添加进来了

     使用Navicat for MySQL  连接

    192.168.117.148 端口3307 ,这个IP和端口是在  haproxy.cfg里配置的。 mysqll_proxy

    192.168.117.148 端口3306 ,mysql_2

    192.168.117.145 端口3360 , mysql_1

    1.在mysqll_proxy 表中插入一条数据, 查看mysql_1和mysql_2 中数据是否发生变化(为了效果明显,mysql_1 和mysql_2 没有配置主从备份和主主备份)

    2.关闭mysql_1 和mysql_2 中数据变化的数据库,在mysqll_proxy 中在插入一条数据,查看另一个数据库的数据变化

    (这个测试为了验证,一个数据库突然宕机,数据能否插入到另一个数据库中)

  • 相关阅读:
    MongoDB 4.0.10 CRUD操作(增删改查)
    MongoDB 4.0.10 聚合
    MongoDB 4.0.10 索引
    MongoDB 4.0.10 导出、导入,备份、恢复
    MongoDB 4.0.10 监控
    列及注释
    SecureCRT的shell中文乱码
    oracle 判断是否是日期
    查询oracle服务器的版本
    Oracle中connect by 的执行结果记载
  • 原文地址:https://www.cnblogs.com/gaizhongfeng/p/9817261.html
Copyright © 2020-2023  润新知