我经常收到这条消息。到目前为止,我研究了几个解决方案,但没有找到任何解决这个问题的方法。但首先,这是我的设计:
由于可伸缩性的原因,我使用了一个PHP7环境,该环境被分成不同的元素。
1 NGINX WebServer
使用带有haproxy和memcache的PHP7-FPM的2-n应用服务器
配置库群集的2-n数据库服务器
1带有PHP7-CLI和haproxy的作业服务器
1用于应用程序分发(nfs)和系统维护的登录服务器
登录服务器也是开发人员的主要登录
我的问题是,我偶尔会收到以下信息:
警告: PDOStatement::execute():MySQL服务器已经消失
在任何一个应用服务器上重新启动Page之后,它将再次工作在3-10页视图上。但之后我又收到了同样的信息。
请帮我找出我的错误。
下面是我的Here配置:
global
log 127.0.0.1 local0 notice
user haproxy
group haproxy
defaults
log global
retries 2
timeout connect 10000
timeout server 10000
timeout client 10000
listen mysql-cluster
log global
timeout connect 10000
timeout server 10000
timeout client 10000
bind 127.0.0.1:3306
mode tcp
option mysql-check user proxy
balance roundrobin
server db1 1.1.1.1:3306 check
server db2 1.1.1.2:3306 check
发布于 2016-10-20 22:32:31
经过一段时间的研究和测试,我找到了问题的核心原因。
首先,代理用户的权限没有反映到第二个服务器上。我在写作功能上有一些问题。因此,我在端口3307上添加了另一个连接,它负责编写。为了保持集群思想,如果其他连接失败,我将连接一个和其他连接的主数据库设置为备份。
我根据文章设置了所有的内容
http://severalnines.com/tutorials/mysql-load-balancing-haproxy-tutorial
感谢那些看到这篇文章时给我打电话的人的帮助:)
发布于 2018-12-21 09:05:45
只需调整超时设置即可。
超时服务器10m超时客户端10m
https://stackoverflow.com/questions/40076644
复制相似问题