mysql 突然报错,连接不上

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

关掉mysql服务,重新启动

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

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

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

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

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

  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的权限相关表,一定不要忘了,我第一次的时候没有执行第四步,结果一直不成功,最后才找到这个原因。

 
原文地址:https://www.cnblogs.com/longsanshi/p/9089245.html