0

这真让我抓狂!我的 Mac OS X Lion 上有 MySQL 首选项窗格,还可以从终端启动和停止它。mysql 从终端工作,我可以连接到数据库,但是当我从 PHP 源代码进行操作时,它无法连接。它昨晚工作,但现在它没有,我不知道为什么。以下是一些细节:

  • 我告诉php.ini在正确的目录中查找 mysql.sock

  • 我还将mysql中的socket变量设置my.cnf为正确的路径。

  • 可以肯定的是,我在默认目录中为 mysql socket ( /tmp/mysql.sock) 创建了一个符号链接,以链接到/var/tmp/mysql.sock.

  • 当我从首选项窗格中停止 MySQL 并尝试从终端启动它时,它显示“成功!” 但我不能将它与mysql终端中的命令一起使用。

任何人都可以从这种混乱的情况中得到任何东西吗?

4

1 回答 1

0

回答我自己的问题:

好的,所以我不知道为什么,但我的配置有差异。即使我设置了socket在 my.cnf 文件中设置了变量,当我启动 mysql 服务器时,它总是会为套接字寻找不同的位置。

我的.cnf

[mysqld]
socket=/var/tmp/mysql.sock

[client]
socket=/var/tmp/mysql.sock

我仍然收到错误:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)。注意它仍然在寻找/tmp/mysql.sock什么?

找到这个链接后,我意识到我的 mysql 服务器从来没有读取我的配置文件/usr/local/mysql/my.cnf

这是我从mysqladmin命令中得到的:

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf

解决方案: 我在我的主文件夹中创建了一个符号链接

ln -s /usr/local/mysql/my.cnf ~/.my.cnf

是的!问题解决了 :)

于 2013-04-29T11:43:51.183 回答