在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

当前回答

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

如何从Mac OS X上卸载MySQL ?

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

其他回答

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

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文件。

我试着去掉所有的*。err文件,但我仍然得到相同的错误。我在错误日志中得到了一个错误:

InnoDB:试图打开先前打开的表空间。以前的表空间“erp/brand”在文件路径:./erp/brand.ibd下使用了“ID: 7”的空间。在“filepath: ./webdb1/system_ user.ibd”目录下,无法打开ID为7的表空间“webdb1/system_user”

所以我删除了所有的ib*文件,它工作:

rm -f *.err ib*

在/etc/ SELinux /config:

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

我在重新启动并删除所有*err文件后遇到了这个问题。

我发现/usr/local/etc文件夹中my.cnf.d目录不见了

它创造了它:

mkdir /usr/local/etc/my.cnf.d

我只是复制粘贴了位于/usr/local/etc中的my。cnf。default文件到这个目录。

然后MySQL可以重新启动:

cd /usr/local/var/mysql
mysql.server start

MySQL可以工作。

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