前言:

最近要用到本地的MySQL,结果把密码忘记了。

ERROR 1045 (28000): Access denied for user \'root\'@\'localhost\' (using password: YES)

 

然后参照网上的教程一顿操作,结果我自己都不知道是啥错了:

ERROR 1130 (HY000): Host \'localhost\' is not allowed to connect to this MySQL server

 

 

 想着重新安装MySQL比较麻烦,就自己看看能不能死马当作活马医一下。

一、修改MySQL配置文件

想要在没有密码的状态下修改MySQL的密码,必须跳过MySQL登录时的登录密码权限的验证,取消掉这个验证的方式如下:

1、找到MySQL的安装文件中的my.ini文件

 

 

 

 一般人应该能找到的吧,配置MySQL的环境变量中也有安装目录的,一般默认安装目录在C盘中。

2、修改my.ini

记事本方式打开my.ini,找到[mysqld]这一行,在下面加入下面两条语句:

skip-name-resolve
skip-grant-tables

 注意[mysqld]是mysql+d(是小写的L,不是大写的i),最好直接复制,不然很容易输错。

 

 

 

 记得ctrl+s保存好

 

二、重启MySQL服务

1、以管理员身份运行命令行

 

 

 2、在命令行中输入停止MySQL服务命令:

net stop mysql

 

 

 3、在命令行中输入开始MySQL服务命令

net start mysql

 

三、登录MySQL

在重启MySQL服务后,通过命令登录MySQL(不需要密码)

mysql -uroot -p

 

回车后不用输入密码,直接回车就行。

 

 

 

四、修改密码

进入到MySQL中,在命令行中输入修改命令,修改密码为123456

grant all privileges on *.* to root@\'localhost\' identified by \'123456\';

 

 

 返回成功的话,密码就修改成功了

 

但有时候也会报一个错:

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

 

 

解决办法:

刷新权限。输入一下命令后回车一下,(可以多尝试几次)

 flush privileges;

 

然后再重复第四步骤,修改密码,

 

 

五、还原MySQL配置文件

1、第一步我们修改了MySQL的配置文件my.ini,在修改成功后我们需要将配置文件还原。

 

 记得保存!!!

2、重启MySQL服务

net stop mysql
net start mysql

 

 

 

3、使用新密码,登录成功

 

版权声明:本文为pengpengdeyuan原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/pengpengdeyuan/p/15001591.html