Haproxy 为 mysql 做负载均衡

tar zxvf haproxy-1.4.21.tar.gz
cd haproxy-1.4.21
uname -r

vim /etc/haproxy.cfg

global
        #日志
        log 127.0.0.1    local0
        maxconn 4096
        chroot /tmp
        uid  0
        gid  0

        daemon
        nbproc 2
        pidfile logs/haproxy.pid
        #debug
        #quiet
defaults
        log     127.0.0.1       local3
        mode    http
        #option  httplog
        #option  httpclose
        option  dontlognull
        #option  forwardfor
        option  redispatch
        retries 2
        maxconn 2000
        contimeout 3000
        clitimeout 30000
        srvtimeout 30000
        balance roundrobin
        bind-process 1
#监控状态页配置
listen stats
        mode http
        bind 0.0.0.0:8080
        stats enable
        stats   uri     /dbstat
        stats   realm Global\ statistics
        #身份验证
        stats auth admin:hello123

listen  mysql_proxy
        #代理端口
        bind 0.0.0.0:33060
        #模式 TCP
        mode tcp
        #调度算法
        balance roundrobin
        #mysql健康检查
        option mysql-check
        #健康检查加上check
        server  s1 192.168.1.42:3306 weight 3 check port 3306 inter 1s rise 2 fall 2
        server  s3 192.168.1.43:3306 weight 3 check port 3306 inter 1s rise 2 fall 2

#启动服务
/usr/local/haproxy/sbin/haproxy -f /etc/haproxy.cfg
#杀掉服务
pkill haproxy

#启动脚本
vim /etc/init.d/haproxy

========================================
#! /bin/sh
set -e

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/haproxy/sbin
PROGDIR=/usr/local/haproxy
PROGNAME=haproxy
DAEMON=$PROGDIR/sbin/$PROGNAME
CONFIG=/etc/haproxy.cfg
PIDFILE=$PROGDIR/logs/$PROGNAME.pid
DESC="HAProxy daemon"
SCRIPTNAME=/etc/init.d/$PROGNAME

# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0

start()
{
        echo -n "Starting $DESC: $PROGNAME"
        $DAEMON -f $CONFIG
        echo "."
}

stop()
{
        echo -n "Stopping $DESC: $PROGNAME"
        haproxy_pid=cat $PIDFILE
        kill $haproxy_pid
        echo "."
}

restart()
{
        echo -n "Restarting $DESC: $PROGNAME"
        $DAEMON -f $CONFIG -p $PIDFILE -sf $(cat $PIDFILE)
        echo "."
}

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        restart
        ;;
  *)
        echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
        exit 1
        ;;
esac

exit 0
=================================================
chmod +x /etc/init.d/haproxy

#启动服务
/etc/init.d/haproxy start

参考:

http://www.2cto.com/database/201412/357835.html

http://blog.sina.com.cn/s/blog_5f66526e0100om1x.html

时间: 2024-10-25 19:16:42

Haproxy 为 mysql 做负载均衡的相关文章

haproxy给mysql做负载均衡

一.首先安装haproxy wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.24.tar.gz tar zcvf haproxy-1.4.24.tar.gz cd haproxy-1.4.24 make TARGET=linux26 PREFIX=/usr/local/haproxy #将haproxy安装到/usr/local/haproxy make install PREFIX=/usr/local/haproxy #PREF

使用Haproxy对MariaDB做负载均衡

服务器环境: 安装 vim /etc/apt/sources.list.d/mariadb.list # 添加以下两句 deb http://mirror.yongbok.net/mariadb/repo/5.5/ubuntu precise main deb-src http://mirror.yongbok.net/mariadb/repo/5.5/ubuntu precise main apt-key adv --recv-keys --keyserver keyserver.ubuntu

haproxy实现mysql slave负载均衡

简单画一个图: 一.服务器规划 192.168.116.132 (master)  -->写操作 192.168.116.129 (slave1)  -->读操作 192.168.116.131 (slave2)  -->读操作 192.168.116.130 (haproxy) -->代理 mysql主从复制配置略过. 二.安装配置haproxy 安装haproxy tar zxf haproxy-1.4.21.tar.gz cd haproxy-1.4.21 make TARG

HAProxy实现Mysql Cluster负载均衡

1.  安装 # yum install haproxy 2.  修改配置 # vim /etc/haproxy/haproxy.cfg 配置如下 global          daemon          nbproc 1          pidfile /var/run/haproxy.pid defaults          mode tcp          #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK   

mysql集群一:主从复制,通过mysql-proxy做负载均衡

mysql集群架构方式很多,根据不同的需求做不一样的架构,简单一点的就是mysql的replication,也就是Mysql的复制功能,模式有:master-slaves,master-slaves-slaves,master-master-slaves等可以有多个分层,那么现在我所要说的是master-slaves的模式(其他的模式原理基本都一样),然后再通过mysql官方提供的Mysql-proxy实现读写分离,达到负载均衡的效果. 环境: 主机:master:192.168.1.109,s

使用haproxy做负载均衡时保持客户端真实的IP

haproxy里添加设置项 option forwardfor option httpclose apache的日志格式修改 LogFormat "MY IP=%{X-Forwarded-For}i AAA %h %u %t" cookie_log 这样%{X-Forwarded-For} 就可以显示用户的真实IP,而%h是显示做负载均衡的haproxy的IP. 如果是公司内部系统都是为这个正式IP另外定义了一个名字ORIG_CLIENT_IP,则可以修改转发的名字. option f

Haproxy+keepalied实现web负载均衡

一.实验拓扑图: keepalived: keepalived的主要目的是为ipvs提供高可用性,因此keepalived除了能够实现资源转移之外,自身能够调用ipvsadm命令来生成规则,而且还能够检测后端Rserver服务的健康状态检测.keepalived自身就是一个服务 ,启动之后工作在两个节点上(可以是多个节点),一个为当前活动节点,一个为备用节点简称为一主(master)一备(backup).master会不时的向backup传递通告信息(这种通告信息机制是基于vrrp协议),备用节

Nginx做负载均衡时session共享问题详解

用nginx做负载均衡时,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,就会出现很多问题,比如说最常见的登录状态. 再者Nginx连接Memcached集群时,Nignx的请求从memcached服务器中根据key获得了value则直接返回value,如果没有获得到value则去MySQL中查询再返回. location / { set $memcached_key "$request_uri"; #设置请求memcached服务器的key memca

基于HAProxy+Keepalived高可用负载均衡web服务的搭建

一 原理简介 1.HAProxyHAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理.HAProxy运行在时下的硬件上,完全可以支持数以万计的并发连接.并且它的运行模式使得它可以很简单安全的整合进当前的架构中, 同时可以保护web服务器不被暴露到网络上.2.KeepalivedKeepalived 是一个基于VRRP协议来实现的LVS服务高