mysql做了主从,使用程序或是proxy来做读写分离,这样就实现了简单的mysql架构,但随着业务的发展,从服务器的查询压力越来越大,我们需要对从服务器做扩展,于是便添加了多台从服务器来解决查询压力,但是要使这些添加的从服务器发挥作用,于是我们就要用haproxy来实现mysql的负载均衡,让多台从服务器来分担查询压力。现在就让我来实现最简单的mysql负载均衡
1、准备工作
我需要一台服务器来装haproxy:IP是192.168.1.104
然后我需要一台服务器安装2个mysql或是2台服务器分别安装mysql,为了区别,我在一台服务器上分别安装了mysql 5.5.25和mysql 5.0.77,对应的端口是3310和3306(192.168.1.8:3306,192.168.1.8.3310)
2、haproxy的安装
tar zxvf haproxy-1.4.22.tar.gz
cd haproxy-1.4.22
make TARGET=linux26 PREFIX=/usr/local/haprpxy
make install PREFIX=/usr/local/haproxy
groupadd haproxy
useradd -g haproxy haproxy
chown -R haproxy:haproxy /usr/local/haproxy
3、配置
vi /usr/local/haproxy/haproxy.conf
global
maxconn 4096
daemon
pidfile /usr/local/haproxy/haproxy.pid
#debug
#quiet
user root
group root
defaults
log global
mode http
option tcplog
option dontlognull
log 127.0.0.1 local0
retries 3
option redispatch
maxconn 2000
contimeout 5000
clitimeout 50000
srvtimeout 50000
listen admin_stats 192.168.1.104:80
mode http
stats uri /dbs
stats realm Global\ statistics
stats auth test:123456
listen proxy-mysql 0.0.0.0:23306
mode tcp
balance roundrobin
option httpchk OPTIONS * HTTP/1.1\r\nHost:\ www
server db01 192.168.1.8:3306
server db02 192.168.1.8:3310
option tcpka
4、使用
启动haproxy
/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.conf
然后你随便找台装了mysql的机子,使用如下命令访问mysql
/usr/local/mysql/bin/mysql -h192.168.1.104 -P23306 -u leiming -p
输入密码就进去了,在这里大家要注意,在192.168.1.8上面的两个mysql要建立相同的mysql远程链接帐户密码
下面两张图就是通过192.168.1.104的23306这个端口进入到不同的mysql
进入mysql 5.0.77
进入mysql 5.5.25
还有就是可以进入http://192.168.1.104/dbs这个页面,通过刚才在配置文件里面输入的账户密码(test:123456)来查看监控信息
发表评论