一个运行良好近一年的 Perl/CGI webapp 开始随机无法连接到远程托管的 MySQL。抛出的错误是:
无法连接到“xx.x.xxx.xx”上的 MySQL 服务器 (111)
重新加载页面通常可以解决问题客户端每次都使用 Perl、DBI 和 SSL 连接到 MySQL,并且使用相同的配置文件。
运行 RH EL5 的 MySQL 5.0 服务器
- 四核 AMD Opteron(tm) 处理器 2374 HE,8 核
- 实际内存:总计 15.73 GB,已使用 11.81 GB
允许在 my.cnf 中进行联网
未达到最大连接数
负载低。
服务器防火墙对客户端子网开放。
mysql 用户具有来自客户端子网的权限。
我让我的主机调查这个问题,但到目前为止,我们都对偶尔的连接方式感到困惑(越来越多地被拒绝)
有什么建议需要检查什么才能导致随机拒绝连接?
答案1
原因是我的主机存在基础设施问题。我的脚本托管在云环境中。节点上的“邻居”耗尽了所有出站端口。一旦主机通过增加容量更好地管理流量,问题就会停止。
我猜测我收到 (111) 错误是因为当连接能够通过云防火墙到达数据库服务器时它们被认为超时了。