在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

当前回答

我的错误文件还告诉我,端口可能正在被另一个进程使用,但只是运行sudo mysql。服务器启动修复了我的问题。

其他回答

我在Mac OS X v10.7.5 (Lion)上尝试升级时遇到了这个问题。

不幸的是,MySQL也从5.5.14升级到5.6.10。我尝试了新版本,但它不起作用。

我决定回到我以前的设置,做了一个

brew switch mysql 5.5.14

这并没有解决问题。我在其他地方阅读并这样做了,瞧!一切都回来了:)

cd /usr/local/var/mysql
mv ib_logfile0 ib_logfile0.bak
mv ib_logfile1 ib_logfile1.bak

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

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

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

对我来说,我必须重新安装MySQL:

brew reinstall mysql

然后按下面的命令启动MySQL,在登录时重新启动:

brew services start mysql

试试这个…

导航到问题的父目录cd YOURPATH/usr/local/mysql Rm -rf *.local。Err(删除文件) touch YOURUSERNAME.local.pid(生成新的*.local. pid。错误抛出的Pid文件正在抱怨) “cd”回到你的项目,并重新启动MySQL使用MySQL。服务器启动

不知何故,我搞砸了我在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.