在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 OS X v10.11 (El Capitan)上的权限,决定从头开始重新安装MySQL。

我在El Capitan上使用Homebrew,并决定重新安装:

brew uninstall mysql
sudo rm -rf /usr/local/var/mysql
brew install mysql
mysql.server start # ... SUCCESS

新安装的文件权限从_mysql更改为包含我的用户名:

ls -alh /usr/local/var/mysql
drwxr-xr-x   22 lfender  admin   748B Mar 22 09:58 .
# ... etc.

其他回答

在/etc/ SELinux /config:

SELINUX=禁用并重新启动服务器。

在我的例子中,当我试图启动MySQL时,我收到了同样的错误:服务器退出而没有更新PID文件。这是我所做的修复(使用终端):

goto /usr/local/var/mysql
sudo rm -rf hostname.err # Delete .err file
cd /usr/local/mysql/support-files
sudo mysql.server start # Success!

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

将日志文件“ib_logfile”移到“/var/lib/mysql”目录下,重启mysql。有时mysql会失败,因为它面临更新日志文件的困难

mv /var/lib/mysql/ib_logfile* /some/tmp/folder/

你也可以删除ib_logfile,因为它会在mysql重启后自动创建

现在重启mysql服务器

我也有同样的问题。原因很简单。我安装了两个MySQL服务器。一个来自MacPorts,另一个来自下载的包。所以我只是按照这里的说明,从包中卸载了一个。

如何从Mac OS X上卸载MySQL ?

在那之后,MySQL运行得很好。