haproxy 代理mysql_配置Haproxy代理实现MySQL从服务器的负载均衡

本文介绍了如何配置Haproxy作为代理,实现MySQL从服务器的负载均衡。在 CentOS 6.x 环境下,通过haproxy的TCP负载均衡模式,将MySQL主从服务器的3306端口代理为3307端口。配置包括全局设置、默认设置和监听规则,然后通过Navicat连接测试验证了负载均衡的效果。
摘要由CSDN通过智能技术生成

之前的文章配置过haproxy以及简单使用,具体可以参考《Centos系统环境下进行负载均衡软件Haproxy安装及配置》, 今天文章记录下通过配置Haproxy代理实现MySQL从服务器的负载均衡。

haproxy本身支持TCP协议的负载均衡转发,对于各种基于tcp的软件进行负载均衡比如mysql,之前配置的web负载均衡都是基于应用层,今天记录下tcp的。

环境准备:

centos 6.x三台,具体如下:

IP:192.168.1.104   角色:haproxy,mysql_master

IP:192.168.1.122   角色:mysql_slave

IP:192.168.1.123   角色:mysql_slave

说明:

(1)mysql主从安装这里不单独配置写出,配置非常简单,可以参考之前的博客文章《Linux系统如何设置mysql数据库主从以及互为主从》

(2)由于1.104已经配置了mysql_master占用了3306端口,haproxy我们启用3307端口测试。

一,配置haproxy

global

log 127.0.0.1 local2

chroot /usr/share/haproxy

pidfile /var/run/haproxy.pid

maxconn 4000

user haproxy

group haproxy

daemon

defaults

mode tcp #默认的模式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 test1

bind 192.168.1.104:3307

mode tcp

#maxconn 4086

#log 127.0.0.1 local0 debug

server s1 192.168.1.122:3306

server s2 192.168.1.123:3306

二,测试mysql的负载均衡。

利用navicat连接192.168.1.104的3307端口,理论上我们会连接到后端的122或者123的mysql上,为了区别,我们分别从mysql_slave单独建立两个库以便区分:

192.168.1.122 mysql_slave建立测试数据库web122;

192.168.1.123 mysql_slave建立测试数据库web123;

(具体sql语句:create database  web122/123 default charset utf8;)

连接测试:

36a4478f7b0dcd636aec042b1806923b.png

连接进入查看:

68800048516e8519e519db2f5ad23b75.png查看我们连接到了192.168.1.123 mysql_slave,看到了建立的测试库web123.

断开连接,重新连接:

1076e4c8ad7962c411a5d656fae0caf8.png查看我们连接到了192.168.1.122 mysql_slave,看到了建立的测试库web122.

总结,配置Haproxy代理实现MySQL从服务器的负载均衡已经完成。后续需要根据配置文件进行一些参数的优化或者架构的优化,比如配置keepalive实现高可用、根据mysql_slave配置分配权重等等,具体情况具体分析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值