mysql Access denied for user root@localhost错误处理备忘

好久没有使用mysql,突然想起来打开一个以前的mysql数据库的项目看看,结果打开页面时出错,提示为:mysql Access denied for user root@localhost错误

百度了一下,网上说要改my.ini,于是我到mysql的安装目录C:Program FilesMySQLMySQL Server 5.7(我的mysql是5.7版),但是发现找不到my.ini,难道被隐藏了?我改了一下文件夹选项,让它显示隐藏的文件,结果发现还是木有,木有。。。

难道因为我用的免费的么?于是百度“找不到my.ini",嘿嘿,找不到my.ini的搜索结果还是不少的,参照了一下这个:https://blog.csdn.net/believe_today/article/details/79223684的做法,在文件夹地址中直接输入:%ProgramData%,然后找到mysql文件夹,里面果然有my.ini,于是我直接改这个my.ini,在mysqlid下面加了skip-grant-tables,接着停止mysql服务,再然后命令提示符下执行mysqld --skip-grant-tables,结果提示找不到文件什么的,仔细看了一下错误提示,把这个my.ini直接复制到安装目录C:Program FilesMySQLMySQL Server 5.7下,然后再执行mysqld --skip-grant-tables,这下没有错误提示了,只是界面卡住,嗯,卡住就对了,我又开一个命令提示符窗口,按上面那个网址中的做法,1、无密码登入 mysql -u root -p 回车确定。然后不用输入密码,再次回车确定。就登陆了系统。2、使用数据库 use mysql。3、刷新密码 update mysql.user set authentication_string=password('root') where user='root' ;4、刷新权限,执行 flush privileges;

然后我将项目中的密码改成命令中的密码,运行项目,成功,问题解决。

原文地址:https://www.cnblogs.com/ymworkroom/p/9982365.html