ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES) 或者ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)
当我们在dos黑色命令窗口 想打开MySQL使用,但是 出现 ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES) 或者ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO) 这种
解决方法:
①:先关闭自己的服务器MySQL,再找到自己下载的安装目录里面的my.ini 配置文件
②:找到【mysqld】,在其后 的下一行加上 skip-grant-tables 然后保存退出。
③:重启MySQL服务器(管理员身份运行),进入MySQL
输入mysql -u root -p
此时会叫我们输入密码,我们就不输,直接按回车,就可以不用密码就能登录,这样就进去了MySQL中了。
④:修改密码。
mysql> update mysql.user set password=password(“新密码”) where user=”用户名”;
如果报错:
ERROR 1054(42S22) Unknown column ‘password’ in ‘field list’
原因: 5.7版本下的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string
mysql> update mysql.user set authentication_string=password(“新密码”) where user=”用户名”;
⑤:刷新MySQL权限相关的表
mysql> flush privileges;
mysql> exit;
密码修改完毕
⑥:编辑my.ini 配置文件,将里面添加的内容去掉(skip-grant-tables),保存退出。
⑦:重新进入MySQL(mysql -u root -p),使用新密码登录即可