首先,我想说我真的非常喜欢互联网社区所做的一切,为每个人提供答案。虽然我不经常发帖,但这里和其他许多论坛上的每个人都帮了我很多!当然,没有一个人给我正确的答案,但是以下是我在Snow Leopard 10.6上花费两天时间尝试安装MySQL 5.5.9的噩梦的独特解决方案。
请跳至底部获取解决方案。
以下是发生的事情。
最近我的服务器崩溃了。服务器被重建后,MySQL 5.5.8当然无法正常工作。真是一件毫无价值的东西。我在另一台机器上安装了5.1.54。那也是一件痛苦的事情,但不像这样。
我尝试使用mysql.org的dmg安装,使用macports安装mysql5,卸载并试图恢复到5.1.54(无法找到包含该信息的receipt文件,即使我按照说明进行操作)。删除与mysql相关的所有内容,然后重新安装5.5.8,一切顺利!直到我重新启动... ☹ 我查看了系统偏好设置中的mysql面板,并发现mysql服务器没有启动。(解决方案请参见结尾)
我的第一个错误(非常常见)包括:
ERROR 2002(HY000):无法通过套接字'/var/run/mysqld/mysql.sock'连接到本地MySQL服务器
以及与mysql.sock相关的许多其他极其常见的问题
http://forums.mysql.com/read.php?11,9689,13272
以下是我尝试过的方法:
1)创建/etc/my.cnf文件,并使用正确的路径指向mysql.sock。我甚至尝试直接使用vi修改mysql.server。修改php.ini毫无价值。因为MySQL没有启动,所以它根本没有创建mysql.sock。也许你可以指向它被创建的目录,而不是实际的完整文件路径,即不是/tmp/mysql.sock而是/tmp。虽然有人建议这样做,但并没有起作用,因为没有mysqld,也就没有mysql.sock。
2)Basedir和datadir的修改无法工作,因为没有mysql.sock可供指向。
为什么?因为mysql守护程序没有启动。没有任何东西来启动mysqld,从而创建mysql.sock,我注定要失败。它们是解决方案的重要组成部分,但如果您尝试它们仍然出现错误,那么您将知道原因。
3)sudo chown -R root:wheel /Library/StartupItems/MySQLCOM/
无法解决我的问题。最终,我将该文件夹及其所有项目都设置为root:wheel,因为这是许多建议中的一项,而且它起作用了。也许它可以保持_mysql,但wheel也可以。
4)从另一台机器上复制mysql.sock。 不起作用。我在新机器上搜索了很久,也没有找到mysql.sock。我使用的是find / | grep mysql.sock,因为locate mysql什么都找不到。此外,我尝试了很多不同的方法,但它们并没有更新足够快以找到我的新安装。即使你将其打包,你也不能复制mysql.sock,因为它是一个0字节的文件。
解决方案:最后,我偶然发现了解决方案。当我处于正确的bin目录中时,我只需在命令行中键入mysqld。它说有另一个进程正在运行。_mysql正在生成一个进程,我可以在Activity Monitor中看到它。我杀死了活动的mysql进程,当我再次键入mysqld时,我发现它正在创建我的mysql.sock文件在/private/tmp/mysql.sock中。
mysql pref面板无法在登录时启动正确的进程,所以我禁用了它。它无法启动mysql,因为没有创建mysql.sock。
那时,我已经发现mysqld创建mysql.sock。然后我找到了/opt/local/mysql/,并在终端窗口中键入“open bin”。这打开了mysqld所在的目录。
我在我的帐户设置中的系统首选项中找到了登录项目,并将mysqld文件拖放到启动项目中。那样就行了。终于!
它运行得非常流畅,因为mysqld在登录时启动,这意味着mysql.sock正在创建,所以不会再出现找不到mysql.sock的错误。