在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进程:

$ ps aux | grep mysql

USER     PID    %CPU  %MEM 
_mysql   5970   0.0   0.4 ...

然后使用以下命令杀死上面命令中列出的所有进程:

$ sudo kill -9 [PID]

将[PID]替换为上面列表中的单个PID,例如5970。

对使用第一个命令看到的所有行都这样做。

然后你可以再次启动你的MySQL服务器:

mysql.server start

其他回答

这是macOS中MySQL数据库最简单的“PID”错误解决方案:

执行如下命令:

$ sudo mysql.server start
Starting MySQL
.. SUCCESS! 

使用此命令访问数据库:

$ mysql -u root

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 19
Server version: 8.0.31 Homebrew

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
Database
information_schema
mysql
performance_schema
sys
4 rows in set (0.00 sec)

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

在检查.err文件后,我看到了另一个MySQL副本可能正在运行的日志错误,在终止旧的服务后。然后我可以重新启动新的MySQL安装。

如果您正在运行MySQL Galera集群,例如Percona XtraDB集群,请检查wsrep_recovery。*数据目录下的文件(例如:/var/lib/mysql)。

当我试图启动一个已经被主机的OOM杀手杀死的节点时,我从systemctl得到了相同的消息,但在任何正常日志中都没有任何迹象表明为什么启动失败。wsprep恢复文件有答案,在我的情况下,我需要用以下标志启动MySQL:

mysqld --tc-heuristic-recover=ROLLBACK

试试这个…

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

这对我很管用……

检查所有正在运行的MySQL进程:

$ ps aux | grep mysql

USER     PID    %CPU  %MEM 
_mysql   5970   0.0   0.4 ...

然后使用以下命令杀死上面命令中列出的所有进程:

$ sudo kill -9 [PID]

将[PID]替换为上面列表中的单个PID,例如5970。

对使用第一个命令看到的所有行都这样做。

然后你可以再次启动你的MySQL服务器:

mysql.server start