首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >‘'PDO连接错误: SQLSTATE[HY000] [2002]无法通过socket’/var/run/mysqld/mysqld.sock连接到本地MySQL服务器‘

‘'PDO连接错误: SQLSTATE[HY000] [2002]无法通过socket’/var/run/mysqld/mysqld.sock连接到本地MySQL服务器‘
EN

Server Fault用户
提问于 2012-07-17 14:43:07
回答 2查看 3K关注 0票数 1

我得到了

‘'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机器,并尝试使用这个设置。

EN

回答 2

Server Fault用户

发布于 2012-07-20 20:53:43

当这种情况发生时,您的系统是否显示出缓慢或滞后的迹象?如果是这样的话,一台加强器就会有帮助。如果没有,那么可能会有一些默认的安全措施来防止大量的请求。

有关更多信息,请参见此bug:

http://bugs.mysql.com/bug.php?id=10525

重要的是,通过设置

back_log=1000

在米舍尔德部分下的/etc/mysql/my.cnf文件中(并重新启动mysql)。

其次,在linux下也提高了同样的限制:

代码语言:javascript
复制
sudo sysctl -w net.core.somaxconn=1024

不要忘记编辑/etc/sysctl.conf并添加

代码语言:javascript
复制
net.core.somaxconn=1024

如果这解决了您的问题,那么它将返回到下一次重新启动!

票数 1
EN

Server Fault用户

发布于 2016-03-18 16:23:10

这可能是SQL处理本地主机环回的问题。尝试连接到127.0.0.1或服务器的内部IP。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/408528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档