Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysql“U连接返回”;Can';t通过套接字连接到本地MySQL服务器";在远程主机连接上?_Php_Mysql - Fatal编程技术网

Php mysql“U连接返回”;Can';t通过套接字连接到本地MySQL服务器";在远程主机连接上?

Php mysql“U连接返回”;Can';t通过套接字连接到本地MySQL服务器";在远程主机连接上?,php,mysql,Php,Mysql,我有一个服务器,它返回了一个意外的、间歇性的错误,并且想知道是否有人以前经历过这种错误,或者可以猜到可能发生了什么。到目前为止,我的搜寻毫无结果 我用mysql_connect()以通常的方式连接到一个远程mysql服务器,但是在过去的两周(一天两次)中,与数据库的连接失败了,我遇到了无法连接到套接字的错误 Error: 2002 - Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2

我有一个服务器,它返回了一个意外的、间歇性的错误,并且想知道是否有人以前经历过这种错误,或者可以猜到可能发生了什么。到目前为止,我的搜寻毫无结果

我用mysql_connect()以通常的方式连接到一个远程mysql服务器,但是在过去的两周(一天两次)中,与数据库的连接失败了,我遇到了无法连接到套接字的错误

Error: 2002 - Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
显然,这是意外的,因为我试图连接到远程主机。如果远程主机不可用,mysql\u是否默认连接到本地主机?我不知道它会这么做,文件上也没有说它会这么做

失败的连接和各种文件似乎没有任何模式,它发生在一天中的各种时间。我认为这可能与网络流量有关,因为如果你直接刷新页面,它连接良好,但我不明白为什么我会出现无法连接到套接字错误

数据库提供程序已检查,无法找到服务器本身的问题。
有人有什么想法吗?

我确信它不会默认为localhost,而且我也非常确定是远程服务器向您发送了错误消息。所以它是mysql服务器上的“本地”,而不是“您的”服务器上的本地

在这种情况下,可能是由于远程服务器上的停机


Gr.

如果您正在运行Windows,可能已经有太多的连接,如果是这样,请转到并阅读


否则,可能有人删除了mysqld使用的Unix套接字文件(默认情况下为/tmp/mysql.sock)。例如,您可能有一个从/tmp目录中删除旧文件的cron作业。

看一看

不久前也有类似的事情

你在家接电话吗?我问这个问题的原因是,我的ISP喜欢把IP地址重新分配给我的家庭帐户,而且我在我的远程MySQL上有IP授权

我想我把IP连接限制打开到了一个字符串,它是我所在地区的IP地址,解决了这个问题。

好的,facepalm瞬间。。。在这个问题困扰了我很久之后,我终于找到了mysql_error()报告套接字错误的原因。在我的代码中有一个mysql_select_db(),我没有注意到,它报告了套接字错误,因为没有可供使用的开放连接

mysql_connect报告的实际错误是(2003)无法连接到“mysql.hostname.tld”上的mysql服务器。我仍然倾向于某种DNS查找/网络流量问题,我目前正在使用IP地址进行连接,以查看是否存在错误


但就这个问题而言,答案是“我是一个空的”

MySQL服务器运行在什么操作系统上?你看过了吗?我相信是CENTOS,但需要dbl检查。我确实读过那页。是的,我确实对防火墙感到好奇,因为我知道它在一个防火墙后面。它不在windows机器上。太多的联系是我的第一个想法,但我确信这不是我感兴趣的问题。。。我将询问这是远程机器上的一个错误,因为你刚刚为我节省了好几个小时!总是很乐意为团队拿一个:)