昨天,测试环境的mysql突然挂了,咱也不知道什么时候挂的,那既然挂了,就重启下,但是起不来了。。报Failed to start MySQL Server

现象

在这里插入图片描述
在这里插入图片描述

分析和解决

查my.cnf的配置

[root@test199 ~]# vi /etc/my.cnf

datadir=/data/mysql #数据存储
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log #日志
pid-file=/var/run/mysqld/mysqld.pid

character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'

查看下mysql日志
因为日志比较多,所以只查当天的即可

[root@test199 ~]# cat /var/log/mysqld.log | grep '2021-09-13'

日志如下:只把问题的展现出来
在这里插入图片描述

错误在这了。
The innodb_system data file ‘ibdata1’ must be writable
必须是写可用,
那怎么办呢,当然,给数据存储路径的文件授权就完事了。

[root@test199 ~]# chmod -R 777 /data/mysql/

重启

[root@test199 ~]# service mysqld restart
或者
[root@test199 ~]# systemctl restart  mysqld.service

看下mysql的状态,正常了。
在这里插入图片描述

小结

 我也在网上找了,好多文档,好多都说,去删除“/var/lib/mysql”下的内容,一般你不去配置mysql的数据存储路径,默认就在"/var/lib/mysql"路径下。
 切记,在没有查清楚原因之前,不要删数据,先看错误日志,分析原因后,再做对应处理。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐