admin

haproxy实现mysql从服务器负载均衡

admin linux 2023-01-25 472浏览 0

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
haproxy实现mysql从服务器负载均衡
 
进入mysql 5.5.25
haproxy实现mysql从服务器负载均衡
 
还有就是可以进入http://192.168.1.104/dbs这个页面,通过刚才在配置文件里面输入的账户密码(test:123456)来查看监控信息

继续浏览有关 LINUX技术 的文章
发表评论