当前位置:网站首页>根本上解决mysql启动失败问题Job for mysqld.service failed because the control process exited with error code
根本上解决mysql启动失败问题Job for mysqld.service failed because the control process exited with error code
2022-08-01 23:44:00 【前端的哭】
先说结论,这问题出现的根本原因就是权限问题,但不限于是某个特定的文件,而是与mysql相关一系列文件。
错误回顾
首先,我在云服务器上默认安装了mysql数据库,它可以正常工作,但由于它默认安装在系统盘中,存储空间较小,于是接着我把它迁移到数据盘(挂载在/data目录下)上,做法是把mysql数据存储目录/var/lib/mysql/移动到了目录/data下,但mysql还有日志文件/var/log/mysql/mysqld.log和进程运行pid文件/run/mysqld/mysqld.pid,它两比较分散,为了方便查找,我把日志文件和进程运行文件全移到了/data目录下,且对mysql配置文件/etc/my.cnf进行了更改。
此时/data目录下的结构如下:
/data
├── log/mysql/mysqld.log 日志文件
├── mysql/xxx
└── run/mysqld/mysqld.pid mysql运行进程pid文件
根据相关教程,我将/data/mysql/目录加入了mysql访问组。
chown -R mysql:mysql /data/mysql
紧接着,我就重启了mysql,然而此时就出现了上述问题,在反复检查自己的操作后,发现并没有落下什么步骤,对于这个问题百思不得其解。网上很多帖子都是说权限什么的问题,很多教程都是copy的别人的,所以有用的信息比较少,基本就是给出两种解决方案,
- chown -R mysql:mysql /data/mysql
- chmod -R 777 /data/mysql
第1种已经尝试过了,不可行。
第2种方法简直就离谱,我都怀疑这人可能没解决这问题,瞎搞,人家默认安装时都没有给/var/lib/mysql/全部赋予可执行权限,他这直接给整个目录赋予可执行权限了,没有什么作用。
解决办法
在不断看了许多帖子之后,受到了一些启发,突然想到了可能的解决方法,既然mysql启动时需要用到这么多文件,而我只把/data/mysql/加入了mysql访问组,那么是不是其他文件缺少权限呢?有了思路之后,我很快将日志文件所在目录/data/log和进程pid文件所在目录/data/run/加入了mysql访问组
chown -R mysql:mysql /data/log 将日志文件所在目录加入mysql访问组
chown -R mysql:mysql /data/run 将mysql进程pid文件所在目录加入mysql访问组
最终问题得以解决。
总结
网上的很多帖子比较单一,虽然给出了针对他自身情况下的特定解决方案,有的之所以使用前面的chown -R mysql:mysql /data/mysql命令可行,是因为他没有将其他文件进行移动,且配置文件/etc/my.cnf没有改动其他文件的存放路径,但并没有指出根本原因,很多人情况可能不一样,因而在文件稍有变动时,其方法可能失效。
固比较通用的方法是根据自己安装时的文件变动情况去对症下药地赋予权限。
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- Appears in oozie on CDH's hue, error submitting Coordinator My Schedule
- An interview question about iota in golang
- The monthly salary of the test post is 5-9k, how to increase the salary to 25k?
- Thesis understanding [RL - Exp Replay] - Experience Replay with Likelihood-free Importance Weights
- UI自动化测试框架搭建-标记性能较差用例
- Spark Sql之union
- 2022第六届强网杯部分wp
- drf生成序列化类代码
- chrome复制一张图片的base64数据
- Special characters & escapes in bat
猜你喜欢

nodejs--process

简单3D渲染器的制作
![[C language advanced] file operation (2)](/img/4d/49d9603aeed16f1600d69179477eb3.png)
[C language advanced] file operation (2)

ICLR 2022最佳论文:基于对比消歧的偏标签学习

Work for 5 years, test case design is bad?To look at the big case design summary

1个月写900多条用例,二线城市年薪33W+的测试经理能有多卷?

solidity

With a monthly salary of 12K, the butterfly changed to a new one and moved forward bravely - she doubled her monthly salary through the career change test~

Is TCP reliable?Why?

UI自动化测试框架搭建-标记性能较差用例
随机推荐
How to better understand and do a good job?
Deep Learning Fundamentals - Numpy-based Recurrent Neural Network (RNN) implementation and backpropagation training
A brief analysis of mobile APP security testing in software testing, shared by a third-party software testing agency in Beijing
Sql之各种Join
Solve the port to take up
计算两点之间的距离
Department project source code sharing
类型“FC<Props>”的参数不能赋给类型“ForwardRefRenderFunction<unknown, Props>”的参数。 属性“defaultProps”的类型不兼容。 不
cdh6打开oozieWeb页面,Oozie web console is disabled.
drf生成序列化类代码
对于在新标签页中打开的链接,始终使用“noopener”或“noreferrer”
Convert LocalDateTime to Date type
Special characters & escapes in bat
Avoid , ,
, and tags伸展树的特性及实现
访问控制台中的选定节点
C语言——分支语句和循环语句
@Scheduled注解详解
DRF generating serialization class code
加载字体时避免隐藏文本