我可以正常启动 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