重启Mysql时报错rm: cannot remove ‘/var/lock/subsys/mysql‘: Permission denied

只有用mysql重启时报错,用root不报错

[mysql@t3-dtpoc-dtpoc-web04 bin]$ service mysql restart
Shutting down MySQL.. SUCCESS! 
rm: cannot remove '/var/lock/subsys/mysql': Permission denied
Starting MySQL.. SUCCESS! 

[root@t3-dtpoc-dtpoc-web04 ~]# service mysql restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL.. SUCCESS! 
[root@t3-dtpoc-dtpoc-web04 ~]#

找到MySQL服务的配置文件 /etc/rc.d/init.d/mysql,分析定位到stop部分代码,如下所示:
vi /etc/rc.d/init.d/mysql

# Lock directory for RedHat / SuSE.
lockdir='/var/lock/subsys'
lock_file_path="$lockdir/mysql"

检查验证发现当前用户(非root用户),没有删除/var/lock/subsys/mysql文件的权限。
解决办法,修改/etc/rc.d/init.d/mysqld中lockdir变量的值,指定到用户mysql有权限的目录。问题解决。另外一种解决方式是通过授予用户访问文件的权限。

先给文件夹赋权,再给文件赋权
[root@t3-dtpoc-dtpoc-web04 ~]# chmod 777 /var/lock/subsys/
chmod 777 /var/lock/subsys/mysql
删除成功
[mysql@t3-dtpoc-dtpoc-web04 ~]$ rm /var/lock/subsys/mysql

重启数据库没有再报错
[mysql@t3-dtpoc-dtpoc-web04 subsys]$ service mysql restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL.. SUCCESS! 

发现生成的新的Mysq文件Owner为mysql,是因为这次生成时是用mysql用户执行的
[mysql@t3-dtpoc-dtpoc-web04 subsys]$ ls -ltr
total 0
-rw-r----- 1 root  root  0 Apr 13  2022 vmware-tools
-rw-r----- 1 root  root  0 Apr 13  2022 network
-rw-r----- 1 mysql mysql 0 Aug 23 16:11 mysql

你可能感兴趣的:(mysql,adb,数据库)