mysql 连接出现:ERROR 1045 (28000):Access denied for user 'root'@'localhost'

一. 出现的问题
密码输入正确但是拒绝访问!!!
mysql 连接出现:ERROR 1045 (28000):Access denied for user 'root'@'localhost'
二. 解决步骤

  1. 找到安装mysql位置的配置文件:一般是my.ini文件,我的自己改名字了
    mysql 连接出现:ERROR 1045 (28000):Access denied for user 'root'@'localhost'
  2. 在里面 [mysqld] 下添加 skip-grant-tables,用来等下登录mysql的时候不经过检查权限,直接进入mysql
    mysql 连接出现:ERROR 1045 (28000):Access denied for user 'root'@'localhost'
  3. 进入cmd管理员模式,并且重启mysql,用到 net stop mysql 和 net start mysqlmysql 连接出现:ERROR 1045 (28000):Access denied for user 'root'@'localhost'
  4. 输入 mysql -u root -p 进入mysql,不用输入密码,直接enter进入mysql 连接出现:ERROR 1045 (28000):Access denied for user 'root'@'localhost'
  5. 输入语句 “set password for ‘root’@‘localhost’=password(‘你需要设置的密码’); ”以及 “flush privileges; ”记得一定要加上冒号!!!我就是没有加冒号瞎折腾了一整天!!!接着输入 “quit;” 退出mysql界面;最后输入 “exit” 关闭cmd界面
  6. 返回到第一步中 my.ini 文件,删除第二步中添加的语句,重新连接一下mysql,试一下。

这里友情提醒一下,我讲的步骤是正确的,里面有变化的就是第五步骤的设置密码,可以有不同的sql语句设置密码。

如果我讲的方法还是不行,请参考 https://blog.****.net/skywalker_leo/article/details/47274441