mysqladmin: connect to server at ‘localhost‘ failed error: ‘Access denied for user ‘root‘@‘localhost

登录MySQL时忘记了密码,然后再网上各种找教程,虽然不是很难的问题,但也花费了半个多小时,希望我的方法能帮到大家。因为忘记了密码,所以我想不用输入密码就进入MySQL,然后再修改密码,但找了好多教程都不行,终于找到了一个好用的。

原文链接:https://blog.csdn.net/qq_41600027/article/details/114297895

因为mysql8.0之后–skip-grant-tables无效,需要在mysql的bin目录中使用mysqld --console --skip-grant-tables --shared-memory(如果你已经配好了mysql的环境变量,那就无需在bin目录下打开控制台,和我一样即可)

来代替,(注意:需要先将服务停止:net stop mysql)

然后在打开另一个cmd窗口,进行修改密码操作(mysql -uroot -p)

之后会出一堆乱七八糟的东西之后再在(mysql>)按回车便可

上面是我找到的教程,具体操作如下

1.用管理员运行打开控制台,输入   mysqld --console --skip-grant-tables --shared-memory

2.然后再打开另外一个控制台,也用管理员运行打开,输入 mysql -uroot -p,密码输入你想修改的密码,然后进入了mysql(注意,此时并不代表你已经修改密码成功,我就以为修改成功,然后退出去输入密码再进入还是报错)

3.进入mysql后,首先刷新权限  flush privileges;

4.再修改密码,依次输入以下命令:

alter user 'root'@'localhost' identified by 'root';

set password for root@localhost = '你的密码';

flush privileges;

进行完以上操作就说明你的密码已经修改好啦,可以退出,用你修改好的密码登录进入

---------------------------------------------------------------------------------------------------------------------------

再次编辑一下,没错,我又遇到了新问题,如果你也遇到了和我一样的问题,请继续看下去

当我再次登录mysql时,遇到了下面这个问题

跟着下面步骤来

1.mysqld --install    安装mysqld

2.net start mysql      启动mysql服务

3.mysqld --initialize-insecure     再次初始化

4.net start mysql   再次启动

输入mysql -uroot -p 进行登录,输入密码,这次终于成功登录了