gpt4 book ai didi

php - 无法在 Mac 上连接到 MySQL——缺少 mysql.sock 文件

转载 作者:可可西里 更新时间:2023-11-01 06:31:02 47 4
gpt4 key购买 nike

大约一周前,我在我的 Mac OS 10.6 上安装了 MySQL,经过一番尝试后,它运行良好。它与 python MySQLdb 集成,我还使用 Sequel Pro 连接到数据库。但是,php 不会访问服务器。即使在我将一个 php.ini 文件添加到/etc/并将其指向 Sequel Pro 使用的同一个 socks 之后:/tmp/mysql.sock。

但是现在我根本无法访问本地服务器。据我所知,我电脑上的任何地方都没有 mysql.sock 文件,不在/tmp/或其他任何地方。

我可以从终端启动 mysql 服务器,但它会在一分钟后自动注销:

110425 17:36:18 mysqld_safe Logging to '/usr/local/mysql/data/dn0a208bf7.sunet.err'.
110425 17:36:18 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
110425 17:37:58 mysqld_safe mysqld from pid file /usr/local/mysql/data/dn0a208bf7.sunet.pid ended

如果我尝试从命令行调用“mysql”(今天早些时候运行良好):

ERROR 2002 (HY000): Can\'t connect to local MySQL server through socket '/tmp/mysql.sock' (2)

PHP错误当然是类似的:

PHP Warning:  mysql_real_escape_string(): [2002] No such file or directory (trying to connect via unix:///tmp/mysql.sock)

另外,我的mysql安装目录:/usr/local/mysql中没有“my.cnf”文件。 XAMPP 附带了用于 mysql 安装的 my.cnf 文件。它们还有列为“/tmp/mysql.sock”的默认套接字,但我必须手动更改它们。

有什么想法吗?为什么修改 php.ini 文件也会对 Sequel Pro 产生变化?

最佳答案

首先,我建议您使用 homebrew 在您的 mac 上安装任何第三方库或工具。看看:Link

否则对于您的问题,您可以搜索 mac 上的 mysql 套接字在哪里,然后将其符号链接(symbolic link)到/tmp。

在你的终端尝试类似的东西:

locate mysql | grep sock

你会得到类似的东西:

/the/path/to/mysql.sock

然后做:

ln -s /the/path/to/mysql.sock /tmp/mysql.sock

这应该有效。

您还可以编辑 php.ini 文件来为 mysql 套接字设置正确的路径。

希望这对您有所帮助。

关于php - 无法在 Mac 上连接到 MySQL——缺少 mysql.sock 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5784791/

47 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com