haproxy mysql 长连接_haproxy+mysql实现代理mysql

本文介绍了如何在CentOS7环境下,通过haproxy作为代理,实现代理MySQL长连接。详细配置haproxy的步骤包括:安装haproxy,编辑haproxy配置文件,设置监听和负载均衡策略,以及调整相关超时时间。同时,文章还讲解了如何配置rsyslog以记录haproxy的日志,并提供了简单的测试方法。
摘要由CSDN通过智能技术生成

我们通常会碰到这样的业务场景:

b主机和c数据库在同一个内网,a主机不能直接访问c数据库,我们可以通过在b主机上搭建代理让a访问c数据库,我们使用haproxy来干这个事情

279ae0a67f4e024dd6adc8d5e543fd5e.png

centos7环境

mysql自行安装

haproxy安装配置

yum install -y haproxy

配置haproxy:

vim /etc/haproxy/haproxy.cfg    #内容如下

global

# to have these messages end up in /var/log/haproxy.log you will

# need to:

#

# 1) configure syslog to accept network log events.  This is done

#    by adding the '-r' option to the SYSLOGD_OPTIONS in

#    /etc/sysconfig/syslog

#

# 2) configure local2 events to go to the /var/log/haproxy.log

#   file. A line like the following can be added to

#   /etc/sysconfig/syslog

#

#    local2.*                       /var/log/haproxy.log

#

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

defaults

mode                    http

log                     global

option                  httplog

option                  dontlognull

option http-server-close

option forwardfor       except 127.0.0.0/8

option                  redispatch

retries                 3

timeout http-request    10s

timeout queue           1m

timeout connect         10s

timeout client          1m

timeout server          1m

timeout http-keep-alive 10s

timeout check           10s

maxconn                 3000

listen mysql

bind 0.0.0.0:7306

mode tcp

balance roundrobin

server mysql1 192.168.10.130:3306

#server mysql2 192.168.10.132:3306

listen stats

bind 0.0.0.0:1080

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

CentOS 7上yum安装的Haproxy,默认没有记录日志。需要做一下配置才能记录日志

1.创建日志文件/var/log/haproxy/haproxy.log

cd /var/log

mkdir haproxy

cd haproxy

touch haproxy.log

chmod a+w haproxy.log

2.开启rsyslog的haproxy日志记录功能

编辑vim /etc/rsyslog.conf文件,将

$ModLoad imudp

$UDPServerRun 514

两行前的#去掉。

local7.*                                                /var/log/boot.log

之后添加

# Save haproxy log

local2.*                       /var/log/haproxy/haproxy.log

修改vim /etc/sysconfig/rsyslog 文件,将

SYSLOGD_OPTIONS=""

改为

SYSLOGD_OPTIONS="-r -m 2 -c 2"

重启rsyslog和haproxy服务,haproxy就能记录日志了。

systemctl restart rsyslog

systemctl restart haproxy

测试

mysql -h192.168.10.130 -uhyh -p -P7306

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值