MySQL 服务器无法启动并报告以下错误:
/usr/local/mysql/bin/mysqld:无法创建/写入文件‘/usr/local/mysql/data/James-Barnhills-Mac-Pro.local.pid’(错误代码:13)
无法启动服务器:无法创建 PID 文件:权限被拒绝
所有权限均以递归方式设置:
lrwxr-xr-x 1 _mysql wheel 27 Nov 22 09:25 mysql -> mysql-5.5.18-osx10.6-x86_64
但它无法启动。我尝试重新安装几次,但无济于事。
我在 Mac OS 上以 root 身份运行,并且 MySQL 对“数据”文件夹具有读取、写入和执行权限。
答案1
权限错误是因为您将目录设置为八进制权限 0751。这意味着用户可以读写和执行,但其他人则不能。由于您不是用户 _mysql,因此您没有权限。您可以做两件事来解决这个问题。
您可以通过在启动 mysqld 服务的命令前面加上 sudo 来启动它。
sudo 服务 mysqld 启动
您可以递归地将权限设置为 0771。这将允许 wheel(管理员)组写入该目录。
答案2
并不是因为你以 root 身份启动了 mysql,所以它实际上是以该用户身份启动的。检查 /etc/my.cnf 并比较 mysql 数据目录的所有者是否与参数 user=mysql_owner 指定的所有者相同。
例如,如果是“mysql”,那么 root 会在启动 mysql 之前切换到该用户(在后台)