解决javaweb项目中mysql的常见问题

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';

 

posted @ 2021-05-30 15:26  徐不二  阅读(264)  评论(0)    收藏  举报