记录日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。

haproxy负载均衡Mysql8后,连接超时


MySQL 服务器 Lost connection to MySQL server at 'reading initial communication packet', system error: 0


这通常是由于 HAProxy 关闭连接时引起的: 超时或服务器端的连接已关闭。有时,你 当服务器重新启动或连接有 已达到以下超时之一。

haproxy配置如下: 

listen mysql8
    bind 192.168.1.247:3306
    mode tcp 
    option tcplog
    maxconn 10000
    fullconn 8000
    balance leastconn              # tcp代理建议使用最小连接
    timeout server 3600s
    timeout connect 3600s
    option  mysql-check user haproxy
    server mysql01 192.168.1.249:3306 weight 2 check maxconn 5000
    server mysql02 192.168.1.252:3306 weight 2 check maxconn 5000


我们的建议是配置 @net_read_timeout@ 和 @net_write_timeout@ 

MySQL / MariaDB中的值与 用于 HAProxy 配置中的@timeout client@和@timeout server@ 文件。

基于上述内容,HAProxy的配置应如下所示:

# haproxy.cfg

...

defaults
        timeout client  3600s
        timeout server  3600s
...

您还可以在 HAProxy 配置中将超时添加到特定的前端或后端配置

就像MySQL / MariaDB一样:

# my.cnf

[mysqld]
...
net_read_timeout = 3600
net_write_timeout = 3600
...

请记住,没有最好的神奇数字 给定变量的设置。在一种情况下,更长的超时可能会起作用 更好的是,在其他情况下,您更喜欢较短的。这取决于你 确定最适合您的环境、应用程序 和工作量。

对我来说不必 10800 秒。可能是30s、60s、 3600s 或其他任何东西。







转载请标明出处【haproxy负载均衡Mysql8后,连接超时】。

《www.micoder.cc》 虚拟化云计算,系统运维,安全技术服务.

网站已经关闭评论