【问题标题】:Warning: mysql_connect(): Can't connect to local MySQL server警告:mysql_connect():无法连接到本地 MySQL 服务器
【发布时间】:2010-11-03 13:53:01
【问题描述】:

警告:mysql_connect(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (11) in /home/aa/public_html/bb/db.php on line 2 无法连接:

我收到此错误,但问题是此错误不定期出现,有时不是一整天都出现,有时会出现无数次。

这可能是什么原因??????

【问题讨论】:

  • 我不认为有任何这样的问题,因为如果有任何这样的连接错误,那么我的数据库甚至连一次都不应该连接。但是我的数据库连接成功但有时会出现这个错误。所以我想知道这种错误的可能原因。

标签: php mysql


【解决方案1】:

这可能意味着 MYSQL 已关闭,或者您在连接时使用了错误的主机名。另一个可能的原因可能是 php 与 mysql 的套接字配置不同,您可以通过查看 mysql 配置中的入口套接字来检查它。文件并通过查看 phpinfo() 的输出,您只需要比较它。或者您机器上的其他人也可能使用该套接字。

PS。以及我的疯狂猜测,检查您的代码并检查您是否始终正确关闭连接以及所有查询。

【讨论】:

  • -1:错误信息给出了文件路径——所以与网络无关
【解决方案2】:

确保您的 MySQL 正在运行。 要么 创建一个名为:phpinfo.php 的文件,其中包含以下内容:

<?php phpinfo(); ?>

在浏览器中加载文件:http://localhost/phpinfo.php 并向下滚动以找到 mysql。查找 MYSQL_SOCKET 并确保它与您在 my.cnf 文件 中的条目相匹配。

仅供参考,我的 my.cnf 文件位于:/etc/my.cnf,其中包含以下内容:

# The MySQL server
[mysqld]
port            = 3306
socket          = /tmp/mysql.sock

【讨论】:

  • 几乎正确 - 将套接字放入 /tmp 非常愚蠢 - 默认情况下,tmp 中的文件仅对其所有者可读。但是mysql和php都需要使用同一个文件,文件必须存在,并且两者都必须是rw。
猜你喜欢
  • 1970-01-01
  • 2013-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多