console端报错信息为:
com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
可以确定是mysql服务停止没有打开。
下来尝试打开mysql服务
net start mysql
如果能打开,那就没事了;打不开的话,接着下面操作。
1.打开MySQL Server 8.0下的data文件夹里的(计算机名).err
文件打开后拉到最底端查看报错。
2.如果出现上下面报错,则继续此教程,否则百度报错。
2021-05-30T13:21:30.983631Z 1 [ERROR] [MY-011011] [Server] Failed to find valid data directory.
2021-05-30T13:21:30.986677Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2021-05-30T13:21:30.988397Z 0 [ERROR] [MY-010119] [Server] Aborting
解决方法
此方法会删除数据库中所有数据,相当于重置,提前备份。
1.删除MySQL Server 8.0下的data文件夹。
2.以管理员模式打开cmd,进入MySQL Server 8.0下的bin文件夹,输入
mysqld -remove MySQL
3.再输入
mysqld --initialize-insecure
此时,会发现MySQL Server 8.0下自动创建了新的data文件夹。
4.输入
mysqld -install
此时会发现能打开mysql服务了,但是还没结束,需要重置密码。
5.我的mysql是8.0,不同的版本方法不同,老版本是修改my.ini。这里贴上个8.x版本修改密码的链接。
https://blog.csdn.net/weixin_43142423/article/details/85072342
注意第9步,命令应改为
ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘123456‘;
原文:https://www.cnblogs.com/yyyxu/p/14828086.html