问题描述
1. 启动问题
服务器经过一次重启,然后再次使用以下命令开启Mysql,出现错误。
> service mysql start
Starting MySQL.. ERROR! The server quit without updating PID file (/var/run/mariadb/mariadb.pid).
2. Mysql错误日志
查看Mysql错误日志文件
> cat /var/log/mariadb/mariadb.log
打印
...
171112 11:18:38 [ERROR] /usr/sbin/mysqld: Can't create/write to file '/var/run/mariadb/mariadb.pid' (Errcode: 2)
171112 11:18:38 [ERROR] Can't start server: can't create PID file: No such file or directory
问题分析
不管是直接启动Mysql反馈的错误信息,还是错误日志里的报错信息,信息中都指向了Mysql的PID文件。而笔者直接去查找相应的文件,确实不存在。
不存在的路径/文件如下:
/var/run/mariadb/
/var/run/mariadb/mariadb.pid
笔者使用root权限登录Centos系统,所以手动创建相应的路径和文件后,重启Mysql,问题依旧。且刚刚创建的路径和文件都被删除。
由此可见,应该是路径文件的权限出现了问题。
解决方法
给PID所在的路径添加mysql属主与属组的权限
> mkdir /var/run/mariadb
> chown mysql.mysql /var/run/mariadb/
重启Mysql,启动成功!
> service mysql start
Starting MySQL.. SUCCESS!