找不到 MySQL 服务器 PID 文件

sim*_*ine 25 mysql mac-osx pid osx-mountain-lion

我可以很好地启动 MySQL,

/usr/local/mysql/support-files/mysql.server start
Starting MySQL
SUCCESS! 
Run Code Online (Sandbox Code Playgroud)

但是之后的任何 MySQL 操作都会出现错误:

找不到 MySQL 服务器 PID 文件

/usr/local/mysql/support-files/mysql.server stop
ERROR! MySQL server PID file could not be found!
Run Code Online (Sandbox Code Playgroud)

在装有 OSX 10.8 的 Mac 上,我在哪里可以找到服务器 PID 文件?我想知道这是否是权限问题。mysql.sock 文件是一个符号链接,指向 tmp/ 目录中的文件。

sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
Run Code Online (Sandbox Code Playgroud)

Roc*_*e33 19

这个问题有点过时了,但我想我会发布在我的 Mac(OS X El Capitan 10.11.4)上发生这个问题时我是如何解决这个问题的。

检查状态只是为了确定

mysql.server status
Run Code Online (Sandbox Code Playgroud)

错误!MySQL正在运行但找不到PID文件

查找所有正在运行的 mysql 进程

ps aux | grep mysql
Run Code Online (Sandbox Code Playgroud)

它会列出所有使用mysql的进程(包括你刚刚执行的命令)

杀死所有 mysql pid

sudo kill <pid1> <pid2> <pid3> ...
Run Code Online (Sandbox Code Playgroud)

这应该会终止所有 mysql 进程

现在尝试启动mysql

mysql.server start
Run Code Online (Sandbox Code Playgroud)

启动 MySQL。成功!

希望这可以帮助某人!


编辑:来自@DanielTate 的替代解决方案

这对我有用 JasperSoft Wiki - uninstall-mysql-mac-os-x。我不得不 brew uninstall mysql 然后删除所有文件,然后重新安装并按照 home brew install 说明进行操作


编辑 2:来自@JanacMeena 的替代解决方案

在 Medium 上的这篇文章中有一篇很好的关于他们的解决方案的文章

  • 错误!服务器退出而不更新PID文件 (2认同)

Dan*_* t. 17

在您的 mysql 配置文件 - 中my.cnf,检查参数pid-file并查看它指向的位置。如果不存在,请手动将其设置为 -

pid-file    = /var/run/mysqld/mysqld.pid
Run Code Online (Sandbox Code Playgroud)

创建目录/var/run/mysqld/并赋予它适当的权限 -

  mkdir /var/run/mysqld
  touch /var/run/mysqld/mysqld.pid
  chown -R mysql:mysql /var/run/mysqld
Run Code Online (Sandbox Code Playgroud)