在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

当前回答

我在交换服务器IP地址后遇到了这个问题。在此之前,数据库工作正常。在/etc/my.cnf文件中有一个条目需要更新:

bind-address = xxx.xxx.xxx.xx

里面有旧的IP地址。

其他回答

对我来说,解决办法很简单。

top

显示mysqld已经在运行。

sudo killall mysqld 

然后让这个过程开始。

我必须在安全模式下检查我的错误文件,以找到根本原因:

Rm -f /usr/local/var/mysql/*.err mysqld_safe开始 猫mysql / * .err

这显示了升级例程中的一个错误。我试着修复它,但我在网上找不到足够的信息。在那之后,我放弃了,并手动导出数据库:

mysql。server start——upgrade=MINIMAL,因此服务器将启动 mysqldump不会工作,因为它会尝试运行完整的升级,但你可以使用Sequel Pro, phpMyAdmin等来导出。 停止服务器,将mysql文件夹重命名为mysql。坏了,并做一个干净的安装,以获得一个新的mysql文件夹。 启动MySQL,手动导入前面导出的.sql文件。

这招对我很管用:

注意:这是一个硬重新安装。当所有其他选项都用尽时再使用。

在安装了Homebrew的Mac电脑上:

列出运行时存在的所有MySQL实例

brew services

通过运行删除每个实例

brew uninstall <instance_name>

删除/usr/local/var/mysql目录:

rm -rf /usr/local/var/mysql

使用Homebrew重新安装MySQL:

brew install mysql
brew install mysql@<version> #Optional

重新运行mysql。服务器启动:

mysql.server start

我也有同样的问题。对我来说,它是在运行mysqld之前的安装时进行brew删除。Homebrew (brew)在卸载之前似乎不会停止服务。

在检查.err文件后,我看到了另一个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.