HAProxy & PXC|Mysql负载均衡

实验环境

主机名/IP系统角色
server04/192.168.1.204ubuntu 22.04主节点
server05/192.168.1.205ubuntu 22.04节点
server06/192.168.1.206ubuntu 22.04节点
server07/192.168.1.207ubuntu 22.04仲裁节点/HAProxy

PXC配置

参考文章:PXC集群部署

额外配置

修改mysql配置文件

vim /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address=0.0.0.0
#允许外部访问数据库

重启服务

systemctl restart mysql

新建数据库用户对test数据库具有全部权限

mysql -u root -p
CREATE USER 'haproxy'@'192.168.1.104' IDENTIFIED BY 'wakamizu';
GRANT ALL PRIVILEGES ON test.* TO 'haproxy'@'192.168.1.104';

HAProxy配置

安装

apt install haproxy -y 

修改配置文件

vim /etc/haproxy/haproxy.cfg
global
    log 127.0.0.1 local0 info  # 定义全局日志输出设置
    maxconn 5000               # 设置最大并发连接数
    nbthread 2                 # 启动的进程数,一般设置成逻辑核心数的数量
    ulimit-n 12000             # 系统允许的最大文件描述符数,一般设置成maxconn的双倍多一点(还有额外套接字数),因为每个连接可能占用两个文件描述符—1—一个用于客户端连接,另一个用于后端服务器连接。
    user haproxy               # 运行HAProxy的用户
    group haproxy              # 运行HAProxy的用户组
    chroot /var/lib/haproxy    # 限制haproxy的工作目录
    daemon                     # 以守护进程方式运行

defaults
    log global                 # 引用全局日志设置
    mode tcp                   # 设置为TCP模式
    option tcplog              # 使用TCP日志格式
    option redispatch          # 如果绑定的服务器不可用,则重新将请求分配给其他健康的服务器,而不是丢弃请求或让其失败。
    timeout connect 5m         # 连接超时时间
    timeout client  5m         # 客户端超时时间
    timeout server  5m         # 服务器超时时间

frontend frontend
    bind *:3306                # 监听3306端口
    default_backend backend    # 默认后端服务器组

backend backend
    balance leastconn          # 负载均衡算法:最少连接数
    server server1 192.168.1.204:3306 check inter 2000 rise 2 fall 3   
    # 定义后端服务器1,inter设置检查间隔
    server server2 192.168.1.205:3306 check inter 2000 rise 2 fall 3  
    # 定义后端服务器2,fall设置服务器被标记为不可用前必须验证的次数
    server server3 192.168.1.206:3306 check inter 2000 rise 2 fall 3  
    # 定义后端服务器3,rise设置服务器被标记为可用前必须验证的次数

设置ulimit

ulimit -n 65535
vim /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535

启动服务

systemctl start haproxy

测试

mysql -u haproxy -p -h 192.168.1.207
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!