前言
如果你是启动mysql失败或者mysql告警日志空白时,强烈欢迎你阅读以下文章。
下文常用的命令,便于各位读者复制。
启动mysql:
service mysqld start
查阅错误:
systemctl status mysqld.service
journalctl -xe
cat /etc/my.cnf
vim /var/log/mysqld.log
删除文件或文件夹 -r为递归 -f为不提示
rm -rf /var/lib/mysq
前期踩坑
使用xshell连接我的阿里服务器,在Centos7.7启动mysql8.0.23的时候执行启动命令 “service mysqld start” 时告诉我启动错误
于是我就根据提示分别执行 “systemctl status mysqld.service” 和 "journalctl -xe"
发现并没有给到我很好的错误提示,于是我想到去查看mysql的告警日志
先通过 “cat /etc/my.cnf” 查找到我的告警日志的路径图中为 log-error=/var/log/mysqld.log
然后输入命令 “vim /var/log/mysqld.log” 发现我的mysql告警日志竟然一片空白,这时候我就一脸懵了,于是乎我就通过 baidu 去寻找答案。在这期间参考了很多篇文章,可是都没有找到能够解决我这个问题的办法,因为网上很多篇文章都参考了mysql的告警日志,可是我的告警日志却是一片空白,而且通过系统提示的两个命令反馈的信息中一个error提示都没有,当我到这里的时候我基本上心态已经崩了,于是我在搜寻centos7下mysql启动失败这个词条上加上了阿里服务器这几个字,给我带来了希望,而且是仅存的唯一一篇文章,可是他也是参考了日志,是因为var/lib/mysql /这个目标路径已经存在了,导致无法初始化,于是我按照他的办法把这个路径rm -rf掉,然后重新启动mysql服务器,却依然启动失败。
参考链接:https://blog.csdn.net/xingjing1226/article/details/89177183
作者:老猫1226
万分感谢这个大佬提供的帮助
后期惊喜
于是我再一次执行journalctl -xe命令的时候,惊奇地发现上面标注了Error错误,说无法加载libaio.so.1这个依赖
于是我通过yum install libaio,去安装这个依赖
然后我重新尝试启动mysql,发现依旧是失败,然后我再执行journalctl -xe命令是惊奇发现之前缺失依赖的错误没有了,于是我重新尝试通过日志来查看我的mysql错误
竟然有日志信息了,然后通过查看发现与参考的文章出现的是一致的错误:var/lib/mysql /这个目标路径已经存在了,导致无法初始化,所以只需要执行 “rm -rf /var/lib/mysql” 这个命令把文件删掉。
然后重新启动mysql,奇迹般的成功了(启动命令无需restart,start即可)。
总结
1.作为程序员搜索能力真的很重要,对问题搜索的好与坏真的十分影响效率,我承认自己这方面的能力还有待提高,选择正确的关键词去进行搜索,真该学习如何正确使用百度和谷歌等搜索引擎去搜索问题。
2.学会去查看日志,并且阅读日志去解决问题真的十分十分重要。
3.这次心态炸裂的经历,真的十分有趣。