MySQL忘記密碼怎麼辦-MySQL修改密碼(親測可用)

前言:

最近要用到本地的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、使用新密碼,登錄成功