首先,我只能说我真的很喜欢互联网社区,因为它为每个人提供了答案。我发的帖子不多,但每个人都在这里发帖,在这么多的板上发帖,对我帮助很大!请注意,他们都没有给我正确的答案,但这是我花了 2 天时间在 Snow Leopard 10.6 上安装 MySQL 5.5.9 的噩梦的独特解决方案。 跳到底部以获得解决方案。
这就是发生的事情。
我最近发生了服务器崩溃。服务器被重建,当然 MySQL 5.5.8 没有工作。多么不值钱的一块。我的另一台机器上有 5.1.54。安装起来也很痛苦,但不是这样。
我在从 mysql.org 安装 dmg、使用 macports 安装 mysql5、卸载尝试恢复到 5.1.54 时遇到了各种问题(不能因为我找不到包含该信息的收据文件,即使我遵循了指示)。在 rming 我能找到与 mysql 相关的所有内容之后,然后重新安装 5.5.8 一切正常!直到我重新启动... ☹ 我查看了我的系统偏好设置 mysql 窗格,发现 mysql 服务器没有启动。(跳到最后解决)
我的第一个错误(超级常见)包括:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysql.sock' 和许多其他与 mysql.sock
http 相关的极其常见的问题: //forums.mysql.com/read.php?11,9689,13272
以下是我尝试过的事情:
1) 使用 mysql.sock 的正确路径创建 /etc/my.cnf 文件。我什至尝试直接用 vi 修改 mysql.server。修改 php.ini 毫无价值。没有任何效果,因为 MySQL 没有启动,因此它首先没有创建 mysql.sock。也许您可以指向它正在创建的目录,而不是实际的完整文件路径,即不是 /tmp/mysql.sock 而是 /tmp 建议但没有工作,因为没有 mysql.sock 因为没有 mysqld产卵。
2)Basedir 和 datadir 修改不起作用,因为也没有 mysql.sock 指向。
为什么?因为 mysql 守护进程没有启动。没有任何东西可以启动 mysqld 并因此创建 mysql.sock 我注定要失败。它们是解决方案的重要组成部分,但如果您尝试它们但仍然出现错误,您就会知道原因。
3)sudo chown -R root:wheel /Library/StartupItems/MySQLCOM/
没有解决我的问题。我最终将那个文件夹和所有项目都设置为 root:wheel ,因为它是推荐的许多东西之一并且它可以工作。也许它可以保留 _mysql 但轮子可以工作。
4)从另一台机器复制mysql.sock。 不工作。我搜索并搜索了我的新机器,但找不到 mysql.sock。我正在使用查找 / | grep mysql.sock 因为 locate mysql 没有找到任何东西。此外,我尝试了很多不同的东西,但更新不足以找到我的新安装。我现在比定位更喜欢查找,即使您可以更新定位数据库。无论如何,您无法复制 mysql.sock,即使您将其 tar,因为它是一个 0 字节文件。
解决方案:我终于偶然发现了解决方案。当我在正确的 bin 目录中时,我终于从命令行输入了 mysqld。它说另一个进程正在运行。_mysql 正在生成一个我可以在活动监视器中看到的进程。我杀死了活动的 mysql 进程,当我再次键入 mysqld 时,我发现它正在 /private/tmp/mysql.sock 中创建我的 mysql.sock 文件
mysql 首选项窗格不会在登录时启动正确的进程,所以我只是因为毫无价值而禁用了它。它不会启动 mysql,因为没有创建 mysql.sock。
那时我已经发现 mysqld 创建了 mysql.sock。然后我找到 /opt/local/mysql/ 并在终端窗口中输入“open bin”。这打开了包含 mysqld 的目录。
我在我的帐户设置中的系统偏好设置中登录项目,然后将 mysqld 文件拖放到那里的启动项目上。那行得通。最后!
它完美地工作,因为 mysqld 在登录时启动,这意味着正在创建 mysql.sock,因此不会再出现关于无法找到 mysql.sock 的错误。