今天早上我在本地机器上运行 PHP 项目时运行了 Mac OS X 更新,昨晚还正常,现在却出现错误:
mysql_connect() [function.mysql-connect]: [2002] No such file or directory (trying to connect via unix:///var/mysql/mysql.sock) [CORE/cake/libs/model/datasources/dbo/dbo_mysql.php, line 540]
有谁遇到过类似的问题吗?
琼斯
答案1
来自苹果支持论坛: http://discussions.apple.com/thread.jspa?messageID=12176949
我遇到了同样的问题,并通过编辑 php.ini 文件解决了它:
在终端中输入 sudo nano /etc/php.ini (终端将要求您输入密码)
更改:mysql.default_socket = 为:mysql.default_socket = /tmp/mysql.sock
按 Ctrl-O,然后按 Enter 保存
仍然在终端中,输入 sudo apachectl graceful
就是这样!
答案2
看来 MySQL 不再运行。您是如何安装 MySQL 的?当您尝试启动/重新启动它时,它会报告任何错误吗?
答案3
您可以启动指向任何所需套接字文件的 mysqld 守护进程。您只需要告诉客户端您想要使用哪个文件。
对于你的情况我会:
- 检查 /var/mysql 目录是否存在
- 检查您的用户是否有权在此目录上写入文件
您可以尝试使用套接字文件启动守护进程,例如:
mysqld_safe --socket=/tmp/mysql.sock
然后使用你的 mysqlclient 你可以做类似的事情
mysql -u user -p --socket=/tmp/mysql.sock
它会起作用