8

我迁移到一台新机器并使用迁移助手来复制我的文件(这似乎是跨数据库复制),但我不得不使用 macports 来安装 Mysql(而上次我是通过 Dan Benjamin 的指南从源代码编译的)。由于某种原因,mysql间歇性地抛出以下错误;

无法通过套接字'/opt/local/var/run/mysql5/mysqld.sock'连接到本地MySQL服务器(2)

无论我尝试什么,它都会这样做,其中包括在 /opt/local/etc/mysql5/my.cnf 中设置套接字。以前我设法通过重新启动机器来临时解决这个问题,但现在它只是不想知道,尽管 grep mysql 告诉我我似乎有一个 pid;

  0    46     1   0   0:00.01 ??         0:00.01 /opt/local/bin/daemondo --label=mysql5 --start-cmd /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper start ; --stop-cmd /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper stop ; --restart-cmd /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper restart ; --pid=none
  0    70     1   0   0:00.01 ??         0:00.01 /bin/sh /opt/local/lib/mysql5/bin/mysqld_safe --datadir=/opt/local/var/db/mysql5 --pid-file=/opt/local/var/db/mysql5/localhost.pid
 74   100    70   0   0:09.22 ??         1:02.68 /opt/local/libexec/mysqld --basedir=/opt/local --datadir=/opt/local/var/db/mysql5 --user=mysql --pid-file=/opt/local/var/db/mysql5/localhost.pid --socket=/tmp/mysql.sock
501 66217 65266   0   0:00.00 ttys001    0:00.00 grep mysql

我该如何解决?接下来我可以采取什么步骤吗?我已经尝试了几个星期,并且已经阅读了所有相关的博客文章,所以我完全没有想法。

4

2 回答 2

15

这是事后的方式,但这是我所做的:

touch /opt/local/var/run/mysql5/mysqld.sock
vi /opt/local/etc/mysql5/my.cnf

将以下行添加到my.cnf

[mysqld_safe]
socket = /opt/local/var/run/mysql5/mysqld.sock

[client]
socket = /opt/local/var/run/mysql5/mysqld.sock

这应该允许您连接。这对我在 Leopard 和 Snow Leopard 上都有效。

于 2009-09-13T00:54:20.733 回答
2

罗伯是对的。请参阅此链接以获得更全面的解释:https ://discussions.apple.com/docs/DOC-3082

请特别注意与您的问题有关的评论:

MySQL 套接字的默认路径不适用于 MacOS X。在更改之前,MySQL 将无法通信...

所以,按照 Rob 所说的去做(尽管 Lion 可能会有所不同),然后启动你的 MySQL:

sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist

编辑:另见此链接:http ://dev.mysql.com/doc/refman/4.1/en/problems-with-mysql-sock.html

编辑:看到这个问题:MySQL Server doesn't start on Raspberry Pi

于 2012-07-11T12:43:21.013 回答