我得到了
‘'PDO连接错误: SQLSTATEHY000无法通过套接字连接到本地MySQL服务器'/var/run/mysqld/mysqld.sock’
当我试图做太多的更新和插入时出错。更新太多了,我指的是每分钟20k-30k的交易。例如,当我试图在一个表中对10k记录进行批处理时,我开始得到这个错误。
我在server断层和MySQL参考文档中搜索,发现无效的sock文件位置或在mysql服务器上可能导致此错误,但我的sock文件路径为真,而mysql服务器已打开。因为通常情况下,我能够连接到mysql并运行查询。
连接限制会导致此错误吗?我当前的max_connections变量值是151个,这不足以处理每分钟10k的事务。但是,正如我所知,当过多的连接打开到mysql时,会产生太多的连接错误--不能通过套接字错误进行连接。
我已经将我的应用程序改为使用mysql_pconnect而不是mysql_connect。我不知道当我试图运行cron作业来处理10k记录时会发生什么。
你知不知道?如果我找不到这个问题的答案,我将尝试得到一个32 gb内存,4-8处理器的大型MySQL机器,并尝试使用这个设置。
发布于 2012-07-20 20:53:43
当这种情况发生时,您的系统是否显示出缓慢或滞后的迹象?如果是这样的话,一台加强器就会有帮助。如果没有,那么可能会有一些默认的安全措施来防止大量的请求。
有关更多信息,请参见此bug:
http://bugs.mysql.com/bug.php?id=10525
重要的是,通过设置
back_log=1000
在米舍尔德部分下的/etc/mysql/my.cnf文件中(并重新启动mysql)。
其次,在linux下也提高了同样的限制:
sudo sysctl -w net.core.somaxconn=1024不要忘记编辑/etc/sysctl.conf并添加
net.core.somaxconn=1024如果这解决了您的问题,那么它将返回到下一次重新启动!
发布于 2016-03-18 16:23:10
这可能是SQL处理本地主机环回的问题。尝试连接到127.0.0.1或服务器的内部IP。
https://serverfault.com/questions/408528
复制相似问题