MySQL:无法创建TCP / IP套接字(105)

时间:2014-12-29 22:27:18

标签: php mysql

我有两台服务器(主服务器和数据库)。如果从主服务器访问MySQL数据库的次数太多,我会收到“无法创建TCP / IP套接字(105)”错误。我尝试激活/停用持久性PDO连接并将max_connections参数设置得非常高,但这没有用。是什么导致了这个错误?

2 个答案:

答案 0 :(得分:1)

听起来您的Web服务器(“主”服务器)的TCP堆栈资源不足。

有些事情要尝试:

  • 配置Web服务器以限制同时运行的客户端连接数。在Apache中,这是MaxClients参数。 http://httpd.apache.org/docs/2.0/mod/mpm_common.html#maxclients达到限制时会发生什么?其他连接请求保存在connect / listen队列中。
  • 检查您的php代码,确保您正确发布数据库资源。在MySQL中,有必要实际检索结果集。一些PHP代码执行SELECT,然后只查看rowCount()方法。
  • 确保您没有在循环中构建PDO对象。
  • 使用netstat命令确定谁在占用端口。

答案 1 :(得分:-3)

尝试检查max_connect_errors参数。很可能是您的主机受到攻击,或者有一些设计不良的应用程序无法连接并达到了尝试的限制。

哦,别忘了重新启动mysqld。

希望它会有所帮助!