CentOS7 MySQL8.0 启动失败 Data Dictionary initialization failed

在CentOS7下面MySQL启动失败。

1.查看错误原因

1.1看错误日志在哪里

cat /etc/my.cnf
在这里插入图片描述
确定错误日志文件在/var/log/mysqld.log,查看错误

1.2查看错误

cat /var/log/mysqld.log

2020-04-12T14:43:42.933326Z 0 [ERROR] [MY-010119] [Server] Aborting
2020-04-12T14:43:42.933520Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.15)  MySQL Community Server - GPL.
2020-04-12T14:43:43.211777Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.15) starting as process 2789
2020-04-12T14:43:43.220187Z 1 [ERROR] [MY-011011] [Server] Failed to find valid data directory.
2020-04-12T14:43:43.220309Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2020-04-12T14:43:43.220364Z 0 [ERROR] [MY-010119] [Server] Aborting

Data Dictionary initialization failed.说的就是初始化Data文件夹失败了。而这个Data文件夹指的就是/etc/my.cnf下面配置的datadir路径。
CentOS7 MySQL8.0 启动失败 Data Dictionary initialization failed_第1张图片

2.解决问题

初始化失败原因有很多,最多可能权限问题。索性删除Data文件夹(即:/var/lib/mysql)

2.1删除Data文件夹

rm -rf /var/lib/mysql

2.2重新初始化并启动MySQL

初始化
命令:
mysqld --initialize --console
目录授权
命令:
chown -R mysql:mysql /var/lib/mysql/
启动mysql服务
命令:
systemctl start mysqld
命令:
systemctl status mysqld

我的问题就解决了,但是问题原因可能不止我这一种,但是找错误的方式都是差不多的。
但是有时候可能误操作线上正式数据库,这个时候肯定急,欢迎一起找错误,邮箱:[email protected]

你可能感兴趣的:(Exception)