我在一个多主机设置中设置了一个由3台MariaDB服务器组成的集群,运行良好。我为HaProxy添加了第4台服务器,用于负载平衡和循环,这样我们就可以有一些冗余,这也是工作的,除了一个问题。
我登录到运行以下查询的MySQL服务器上的HaProxy客户端:
show variables like 'server_id';我正在获得结果,但如果我等待5秒或更长时间,然后再次运行查询,则会得到以下错误:
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 52
Current database: *** NONE ***在那之后,我得到了一个不同的server_id的结果,这表明负载平衡是有效的。这导致的问题是,当我尝试从Spring/Java应用程序连接时,我可以在很短的时间内运行查询,连接就会下降。我想,如果我能在HaProxy服务器上解决它,那将解决我正在处理的其他问题。
global
log 127.0.0.1 local0 notice
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
user haproxy
group haproxy
maxconn 4096
daemon
defaults
log global
retries 2
timeout connect 3000
timeout server 5000
timeout client 5000
listen mysql-cluster
bind 0.0.0.0:3306
mode tcp
option tcpka
option mysql-check user haproxy_check
balance roundrobin
server mysql-1 192.168.10.241:3306 check inter 1000 rise 3 fall 1
server mysql-2 192.168.10.242:3306 check inter 1000 rise 3 fall 1
server mysql-3 192.168.10.243:3306 check inter 1000 rise 3 fall 1
listen stats
bind 192.168.10.211:8080
mode http
stats enable
stats uri /
stats realm Strictly\ Private
stats auth USER:PASSWORD发布于 2015-10-21 13:40:55
发布于 2015-10-21 00:21:06
尝试在max_allowed_packet中配置mariaDB。这里有一个相对的链接,可以解决您的问题。
http://stackoverflow.com/questions/10474922/error-2006-hy000-mysql-server-has-gone-awayhttps://serverfault.com/questions/730403
复制相似问题