mysql: Can’t start server: can’t create PID file:Permission denied 错误解决

时间:2022-10-28 20:52:43

081217 20:53:26 mysqld started
081217 20:53:26 [ERROR] /wpx/db/var/: Can’t create/write to
file ‘/wpx/db/var/dev.pid’ (Errcode: 13)
081217 20:53:26 [ERROR] Can’t start server: can’t create PID file:
Permission denied
081117 20:53:26 mysqld ended

看上去应该是权限的问题,但是/wpx/db这个目录已经属于myql.mysql了,而且也是755的权限,怎么就不能创建pid文件呢?


google一下,发现很多人存在这个问题,不过没有看到解决的结果。

从报错的信息的来看,应该还是权限问题,于是从/开始找起,看看哪里有问题,果然/wpx的权限出了问题,是644,也就是无法访问这个目录了,之所以没有一开始就发现这个问题,是被root帐号迷惑了,我们知道权限位的设置对root其实是没有含义的,因此即便/wpx设置为644,root帐号一样可以进入,而我一直都在/wpx/db/bin/下执行mysqld_safe这个启动程序,当然不会想到/wpx没有访问权限了,但是对于mysqld进程的拥有者mysql而言,/wpx当然就变成了不可逾越的鸿沟了。

So,修改/wpx为755,问题解决。
总结一下,对于一个mysqld进程的拥有者mysql来说,其访问路径不得小于下面的权限,以/wpx/db/为例子:

/ —>至少有一个x权限,可以进入
/wpx –>至少有一个x权限,可以进入
/wpx/db –>至少有一个x权限,可以进入
/wpx/db/var –>至少有一个x全新,可以进入
/wpx/db/var/mysql –>至少有wx权限,如果你想创建或者删除文件的话(这里存储数据文件)
/wpx/db/var/dev.err –>至少有w权限,当需要更新错误信息时