haproxy负载mysql

发布于 2022-09-12 04:17:08 字数 2290 浏览 20 评论 0

1、两台主机分别配置haproxy,采用first算法
主:192.168.1.1
从:192.168.1.2
以下是主192.168.1.1的配置
主机通过访问192.168.1.2:3307去访问数据库

#配置的haproxy.cfg文件
global
    log         127.0.0.1 local2
    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon
    # turn on stats unix socket
    stats socket /var/lib/haproxy/stats

#---------------------------------------------------------------------
# common defaults that all the 'listen' and 'backend' sections will
# use if not designated in their block
#---------------------------------------------------------------------
defaults
        log     global
        log 127.0.0.1 local3
        mode    http
        option tcplog
        option  dontlognull
        retries 10
        option redispatch
        maxconn         2000
        timeout http-request    10s                  
        timeout queue           1m                   
        timeout connect         10s                  
        timeout client          1m                   
        timeout server          1m                   
        timeout http-keep-alive 10s                  
        timeout check           10s                  

listen  mysql
        bind 0.0.0.0:3307
        mode tcp
        balance first
        server 192.168.1.1 192.168.1.1:3306     
        server 192.168.1.2 192.168.1.2:3306     

#haproxy监听端口(可去掉),访问虚机地址+端口号+/stats可以看到,例如:192.168.108.133:1080/stats
listen stats
        bind 0.0.0.0:2080
        mode http
        option httplog
        maxconn 10
        stats refresh 30s
        stats uri /stats
        stats realm XingCloud\ Haproxy
        stats auth admin:admin #用这个账号登录,可以自己设置
        stats auth Frank:Frank
        stats hide-version
        stats admin if TRUE

以下是从192.168.1.2的配置
从机服务通过访问192.168.1.2:3307去访问数据库

listen  mysql
        bind 0.0.0.0:3307
        mode tcp
        balance first
        server 192.168.1.1 192.168.1.1:3306     
        server 192.168.1.2 192.168.1.2:3306

使用first算法,想让两台mysql服务都运行的情况下,都会通过访问3307端口,首先去访问192.168.1.1:3306数据库进行读写,192.168.1.1宕机时,则访问到192。168.1.2:3306端口进行读写。
问题:
现在两台都在线时是正常的,但是主的192.168.1.1数据库宕掉后,192.168.1.2:3307也没办法访问到,是不是first算法不支持呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文