1.问题说明
有时候我们登录Mysql输入密码的时候,会出现这种情况:
mysql -u root -p
Enter Password > ‘密码’
错误:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)
或者:错误:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)
2.解决步骤
1、打开MySQL目录下的my.ini(路径如下图)文件(注:各类版本路径不同,我这里以5.5系列仅供参考),在文件的mysqld(如下下图所示)后方添加一行“skip-grant-tables”,保存并关闭文件。
2、重启MySQL服务。
3、通过命令行win+R进入MySQL的BIN目录,输入“mysql -u root -p”(不输入密码),按下两个回车即可进入数据库(最好用管理员运行终端)。
4、执行“use mysql;”,进入mysql数据库。
5、修改数据库
- 进入mysql,登录
mysql -u root -p
不用输入密码,直接回车(出现Enter Password 也一样直接回车,即可登陆成功)
- 输入use mysql,修改root的密码:
update user set authentication_string=password(‘新密码’) where user=‘root’;
flush privileges;
Enter Password>‘新密码’
就不会出错,可以登录啦!!!