Heartsuit's Simple Blog

A place to hold mainly reading notes, and some technical stuff occasionally. 这里主要是一些读书笔记、感悟;还有部分技术相关的内容。


Project maintained by heartsuit Hosted on GitHub Pages — Theme by mattgraham

问题排查:线上MySQL启动报错:Job for mysqld.service failed because the control process exited with error code.

目录[-]

背景

操作系统:CentOS 7

突然,用户反映线上页面刷不出数据了,排查了ElasticSearch以及对应的后端服务之后,可能的原因只有数据库了。。

首先看了下数据库状态:

2020-08-25-MySQLStart.png

数据库挂了!!正常情况下service mysqld status返回应该是:

2020-08-25-MySQLRunning.png

接着尝试重启MySQL,service mysqld start,数据库服务启动报错:

Job for mysqld.service failed because the control process exited with error code. See “systemctl status mysqld.service” and “journalctl -xe” for details.

word天,数据库服务起不来了。。

解决思路

显然,报错提示查看MySQL的日志,进行问题排查,但是仔细一想,近期并未做过线上环境、DB、配置的更新,也就是说服务本身正常运行,是突然不能正常工作了。。可能的原因:

另外,由于当前机器上除了数据库服务之外还有其他的业务服务,所以先排查CPU、内存以及磁盘空间。

  1. 查看进程:top -c
  2. 查看磁盘:df -h

问题排查

  1. 查看进程:top -c

一切正常:CPU、内存均处于正常状态;

  1. 查看磁盘:df -h

2020-08-25-MySQLDisk.png

问题暴露了:dev/vda1的磁盘空间100%了。。

问题解决

2020-08-25-MySQLNewDisk.png

Done~

事故总结

service mysqld status
service mysqld start
top -c # 查看进程情况:CPU、内存、pid等
df -h # 查看磁盘空间信息,-h表示以KB, MB, GB, TB格式进行人性化显示
du -sh * | sort -hr # 查看文件夹、文件大小,-s表示汇总,-h表示以KB, MB, GB, TB格式进行人性化显示,-r 逆序
cp /dev/null access.log # 不删除,清空文件

2020-08-25-MySQLLog.png


If you have any questions or any bugs are found, please feel free to contact me.

Your comments and suggestions are welcome!


「说点什么吧😊~~😊」: