1045 Access denied for user 'root'@'localhost' (using password: YES)

MySQL连接错误,使用Navicat连接MySQL出现访问被拒错误的情况:

1045 Access denied for user ‘root’@‘localhost’ (using password: YES)

在这里插入图片描述

解决办法:

  1. 找到MySQL的配置文件my.ini位置(例如我的:F:\intsall\MySql\mysql_5.7.24_windows_x64\epoint_mysql_5.7.24\mysql-5.7.24-winx64\my.ini)

  2. [mysqld] 这个条目下加入 skip-grant-tables 这行语句 ,可以进行无密码登录。

  3. 打开 cmd (win+R)

  4. 进行重启mysql服务

  5. 输入 mysql -u root -p 无密码登陆,出现password直接回车进入

  6. 输入 use mysql

  7. 设置新的密码 update user set password = password("root") where user = "root";
    如果你使用的是5.7版本的mysql 这语句会报错:Unknown column 'password' in 'field list'找不到 password字段 这是因为 5.7版本的mysql password 字段变成了 authentication_string

  8. 设置完后 flush privileges; 刷新数据库 大功告成。

  9. 最后一步不要忘了在 my.ini 配置文件里把加入的 skip-grant-tables 删掉
    在这里插入图片描述