mysql突然无法连接:the driver has not received any packets from server communications link

 转载连接(解决办法,成功):https://www.cnblogs.com/longsanshi/p/9089245.html#top

参考链接():

https://stackoverflow.com/questions/6865538/solving-a-communications-link-failure-with-jdbc-and-mysql这个没用上,但是写得很好

 最终解决办法是用下面的方法成功连接mysql,导出数据库,重新安装数据库到非系统盘。

错误如下, Access denied for user 'root'@'localhost' (using password

关掉mysql服务,重新启动

如果不行,那应该就是密码被改了,密码不对应

 

1.以系统管理员身份运行cmd.

  2.查看mysql是否已经启动,如果已经启动,就停止:net stop mysql.

      如果保存就在cmd下执行services.msc,找到mysql的服务停掉

  3.切换到MySQL安装路径下:D:\WAMP\MySQL-5.6.36\bin;如果已经配了环境变量,可以不用切换了。

  4.在命令行输入:mysqld -nt --skip-grant-tables

  5.重启以管理员身份运行一个cmd,输入:mysql -uroot -p,Enter进入数据库。

  6.如果不想改密码,只是想看原来的密码的话,可以在命令行执行这个语句

select host,user,password from mysql.user;//即可查看到用户和密码

   7.如果要修改密码的话,在命令行下 依次 执行下面的语句

use mysql
update user set password=password("new_pass"where user="root";// 'new_pass' 这里改为你要设置的密码
flush privileges;
exit

 如果报错 :

host is not allowed to connect to this MySQL server

      1. 在装有MySQL的机器上登录MySQL mysql -u root -p密码
      2. 执行use mysql;
      3. 执行update user set host = '%' where user = 'root';这一句执行完可能会报错,不用管它。
      4. 执行FLUSH PRIVILEGES;

        经过上面4步,就可以解决这个问题了。 
        注: 第四步是刷新MySQL的权限相关表,一定不要忘了,我第一次的时候没有执行第四步,结果一直不成功,最后才找到这个原因。

posted @ 2018-09-20 23:20  梧桐将秋色  阅读(18325)  评论(0编辑  收藏  举报