在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路径。
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
我的问题就解决了,但是问题原因可能不止我这一种,但是找错误的方式都是差不多的。