mysql负载均衡(mariadb+haporxy)

来源:互联网 发布:amf数据分析器下载 编辑:程序博客网 时间:2024/06/07 04:05

yum install -y wget gcc mariadb


#下载
wget http://down1.chinaunix.net/distfiles/haproxy-1.4.21.tar.gz
#解压
tar -xzvf haproxy-1.4.21.tar.gz
cd haproxy-1.4.21
#编译
make TARGET=mysqlha PREFIX=/usr/local/haproxy
#安装
make install PREFIX=/usr/local/haproxy
#创建用户和组
groupadd -g 1000 haproxy
useradd -u 1001 -g haproxy haproxy


#配置config文件
cat > /usr/local/haproxy/haproxy.cfg << EOF
global
  log             127.0.0.1 local0
  log             127.0.0.1 local1 notice
  #log loghost    local0 info
  maxconn         4096
  user            haproxy      #所属运行的用户
  group           haproxy      #所属运行的组
  nbproc          1
  pidfile         /usr/local/haproxy/haproxy1.pid


defaults
  mode           http                         #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK
  log            global                    #应用全局的日志配置
  option         tcplog  #启用日志记录HTTP请求,默认haproxy日志记录是不记录HTTP请求日志
  option         dontlognull
  retries        3
  option         redispatch
  maxconn        4096
  timeout        http-request    10s          #http请求超时时间
  timeout        queue           1m           #一个请求在队列里的超时时间
  timeout        connect         10s          #连接超时
  timeout        client          1m           #客户端超时
  timeout        server          1m           #服务器端超时
  timeout        http-keep-alive 10s          #设置http-keep-alive的超时时间
  timeout        check           10s          #检测超时


listen          mariadb-galera
  bind 127.0.0.1:3399  #客户端监听端口
  mode tcp
  balance  leastconn  #最少连接的负载均衡算法
  server   db1  192.168.168.121:3306 check
  server   db2  192.168.168.122:3306 check
  server   db3  192.168.168.123:3306 check
  server   db4  192.168.168.124:3306 check
  server   db5  192.168.168.125:3306 check
EOF


#后台启动haproxy
/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg -D


#测试连接
root@localhost local]# mysql --host 127.0.0.1 --port 3399 -u root -pabc123 base_aa
Enter password: 
ERROR 1130 (HY000): Host '192.168.168.130' is not allowed to connect to this MariaDB server


任意节点上授权
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.168.130' IDENTIFIED BY 'abc123' WITH GRANT OPTION;




#负载均衡测试
haproxy服务器多窗口登陆mariadb服务器。在mariadb服务器上连接数据库并查看进程数
show full processlist ;


开启20个客户端连接,如下图,每个数据库分别有4个来自168.130的连接





原创粉丝点击