在Mac OS X v10.6 (Snow Leopard)上,启动MySQL会出现以下错误:

服务器退出,没有更新PID文件

文件my.cnf

[mysqld]
port            = 3306

socket          = /tmp/mysql.sock

skip-external-locking

key_buffer_size = 16K

pid-file=/var/run/mysqld/mysqld.pid

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

当前回答

这是一个权限问题。它不能启动,因为它不能写入mac。err文件,因为它属于其他人。

确保/usr/local/var/mysql文件夹属于启动MySQL的用户。如果我以jack的方式启动MySQL,一切都很好。然而,如果你以根用户的身份启动它,它会创建一个mac.err文件(由根用户拥有),jack不能写入这个文件,所以当你试图以jack的身份重新启动它时,它会失败。

确保运行mysql的用户拥有该文件夹和文件。服务器启动 确保没有mac.err或mac.pid文件被其他人拥有。 启动是作为正确的用户。

其他回答

我在Mac电脑上也遇到了同样的问题(正确地遵循了brew install建议的所有安装步骤)。

删除错误文件为我修复了它:

执行rm -rf /usr/local/var/mysql/dev.work。Err (dev.work是我的主机名)

这是因为dev.work.err属于_mysql:wheel,而不是我自己的用户名。 chon -ing错误文件可能也会修复它。

删除pid文件,然后再次启动mysqld。

对我有效的解决方案是:不能在MySQL服务器上创建PID文件,权限被拒绝

改变我的一些权限似乎奏效了。我使用的是一台2012年年中的MacBook Air,安装了Mac OS X v10.8.2 (Mountain Lion), MySQL安装了Homebrew。

chmod 0755 /var
chown root:wheel /var/tmp
sudo chmod 0771 /usr/local/var/mysql/*

简单的…

修复2002年MySQL套接字错误。

修复了即将出现的2002套接字错误-连接MySQL放置套接字的位置和OS X认为它应该在的位置。MySQL把它放在/tmp目录下,而OS X在/var/ MySQL目录下查找套接字是一种允许MySQL客户端/服务器通信的文件。

sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

做得好:)这对我帮助很大!

我从http://coolestguidesontheplanet.com/上的人那里得到了这个指南

错误日志说了什么?我得到了这个错误,它最终是my.cnf文件中的一个旧的无效设置,这是MySQL错误日志指示的。如果不是错误的配置设置,错误日志至少应该为您指明正确的方向。