mysql_connect在远程主机连接上返回“无法通过套接字连接到本地MySQL服务器”吗?

问题描述

| 我有一台服务器返回了意外的间歇性错误,想知道是否有人曾经经历过该错误,或​​者可以猜测可能会发生什么情况。到目前为止,我的搜索没有任何成果。 我以通常的方式使用MysqL_connect()连接到远程MysqL服务器,但是在最近2周(每天几次)中,与数据库的连接失败,并且我无法连接到套接错误
Error: 2002 - Can\'t connect to local MysqL server through socket \'/var/lib/MysqL/MysqL.sock\' (2)
显然,这是意外的,因为我试图连接到远程主机。如果远程主机不可用,MysqL_connect是否认为localhost?我不知道它能做到这一点,而在文档中却没有说明它能做到这一点。 似乎没有任何模式可以用于失败的连接,各种文件,并且它在一天中的各种时间都发生。我认为这可能与网络流量有关,因为如果您立即刷新页面,它可以正常连接,但是对于为什么我无法连接套接错误感到困惑。 数据库提供者已检查并且无法找到服务器本身的问题。 有人有想法么?     

解决方法

        我确定它没有默认为localhost,而且我还很确定它是向您发送错误消息的远程服务器。因此它在mysql服务器上是\“ Local \”,而不是\“ your \”服务器上的Local。 在这种情况下,可能是由于远程服务器上的停机时间所致。 Gr。     ,        好吧,facepalm时刻……这使我困扰了好多年,我终于找到了为什么mysql_error()正在报告套接字错误。在我的代码中有一个我没有注意到的mysql_select_db(),那就是,这报告了套接字错误,因为没有开放的连接可供使用。 mysql_connect报告的实际错误是(2003)无法连接到“ mysql.hostname.tld”上的MySQL服务器。我仍然倾向于某种DNS查找/网络流量问题,目前我正在使用IP地址进行连接,以查看是否存在该错误。 但是就这个问题而言,答案是“我很傻”。     ,        看看这个     ,        前段时间有过类似的事情。 您在家中连接吗?我问的原因是我的ISP喜欢弄乱将IP地址重新分配给我的家庭帐户,并且我在远程MySQL上拥有IP授权。 我想我把IP连接限制的东西打开了,这是我所在地区的IP地址字符串,它解决了问题。     ,        如果您使用的是Windows,则可能已经有太多的连接,如果是这样,请访问http://dev.mysql.com/doc/refman/5.5/en/can-not-connect-to-server.html#无法连接到Windows上的服务器并已阅读。 否则,也许有人删除了mysqld使用的Unix套接字文件(默认为/tmp/mysql.sock)。例如,您可能有一个cron作业,该作业从/ tmp目录中删除了旧文件。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...