找不到 MySQL 服务器 PID 文件

找不到 MySQL 服务器 PID 文件

我可以正常启动 MySQL,

/usr/local/mysql/support-files/mysql.server start
Starting MySQL
SUCCESS! 

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

找不到 MySQL 服务器 PID 文件

/usr/local/mysql/support-files/mysql.server stop
ERROR! MySQL server PID file could not be found!

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

sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

答案1

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

pid-file    = /var/run/mysqld/mysqld.pid

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

  mkdir /var/run/mysqld
  touch /var/run/mysqld/mysqld.pid
  chown -R mysql:mysql /var/run/mysqld

答案2

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

检查状态以确保

mysql.server status

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

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

ps aux | grep mysql

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

杀死所有 mysql pid

sudo kill <pid1> <pid2> <pid3> ...

这应该会终止所有 mysql 进程

现在尝试启动 mysql

mysql.server start

启动 MySQL。成功!

希望这对某人有帮助!


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

这对我有用JasperSoft 维基百科 - uninstall-mysql-mac-os-x。我必须卸载 mysql,然后删除所有文件,然后重新安装并按照 home brew install 说明进行操作


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

这里有一篇很好的解决方案在 Medium 上发布

答案3

潜在的问题可能是您的主机名正在更改,如果您未在 my.cnf 中指定 pid 文件,它将使用 .pid 作为文件。如果我的 MacBook 放在家里,我会看到一个主机名,但当它在公司网络上唤醒时,它会看到相同的名称,末尾带有“.local”。

答案4

我也遇到了这个问题...就我而言,我使用了通用 MySql版本,我以root用户身份运行 mysql:

/path/to/mysql/support-files/mysql.server start --user=root

相关内容