mysql重启失败

服务器重启了一下,然后启动后发现mysql自动启动没有生效,于是手动通过systemctl启动mysqld,然后就报错:Starting MySQL...........The server quit without updating P[FAILED](/data/mysql/iz2zebvmy1qv3fao9c5riuz.pid).

根据配置my.cnf文件找到错误日志,没看出什么有用信息,然后手动创建了报错中的/data/mysql/iz2zebvmy1qv3fao9c5riuz.pid文件并修改了其权限和用户组(mysql用户)

然后再次执行systemctl start mysqld,发现没有报错。执行 ps -ef | grep mysql

也有进程,但是在连接mysql时又失败,再次执行ps -ef | grep mysql发现原先的进程又没了,创建的pid文件也没了,应该是mysql进程销毁的时候自动删除了。

另想他法,不用systemctl或service直接执行mysqld,报错:

没权限?那之前是怎么启动起来的?

算了试试吧,查看/data/mysql目录所有者是mysql啊,里面也都是mysql用户,保险起见执行了下

chown -R mysql:mysql /data/mysql

然后再次执行mysqld还是一样的结果,最后发现/data所有者是www,权限是drwxrwx--- 19 www www。

groups mysql发现mysql用户只属于mysql分组,那就加一个分组

好了再次执行systemctl start mysqld或者systemctl restart mysqld没有报错,查看进程

运行正常了,看来是目录权限问题,但还是有个问题,之前是怎么启动起来的呢(之前就已经正常运行了很长时间)还是说重启了一下把用户组给弄丢了?或者是运行期间我手动改了目录权限没啥印象了,不过最后问题还是解决了。

相关推荐
Elnaij5 小时前
MySQL数据库入门到进阶!(3)——MySQL数据类型和MySQL表的约束
数据库·mysql
青柠代码录5 小时前
【Redis】数据类型:String
数据库·redis·缓存
TDengine (老段)5 小时前
TDengine 超级表/子表/普通表 — 设计理念与内部表示
android·大数据·数据库·物联网·时序数据库·tdengine·涛思数据
老纪5 小时前
c++怎么利用std--variant处理多种二进制子协议包的自动分支解析【进阶】
jvm·数据库·python
pigs20186 小时前
Docker容器中Kingbase数据库授权到期更换解决方案
数据库·docker·容器
guygg886 小时前
C# 监听数据库数据变化(SqlDependency 实现)
数据库·oracle·c#
隐退山林6 小时前
JavaEE进阶:MyBatis 操作数据库(入门)
数据库·java-ee·mybatis
晴天¥6 小时前
达梦数据库的内存结构
服务器·数据库·达梦数据库
倔强的石头_6 小时前
生产环境排坑实录:SQL 标量子查询的“静默杀手”与优化器的智能推演
数据库