找回MySQL管理員root密碼的3個妙招

前言

最近有粉絲和網友常問到,如何找回MySQL管理員root的密碼的方法,總結以下方法分享給大傢

📣 1.init-file找回

在MySQL中,若root密碼丟失則無法直接找回,隻能通過特殊方式來修改密碼。
步驟1:先停止MySQL服務 Kill -9 進程號
步驟2:編輯修改密碼文件
alter user 'root'@'%' identified by 'jeames';
alter user 'root'@'localhost' identified by 'jeames';
步驟3:用如下方法啟動MySQL
mysqld_safe --defaults-file=/etc/my.cnf --init-file=/tmp/mysql-init.sql &
步驟4:修改密碼
alter user root@'localhost' identified with mysql_native_password by 'root';
alter user root@'%' identified with mysql_native_password by 'root';
flush privileges;
步驟4:關閉數據庫後重啟

若是 Windows 服務,則可以通過如下命令啟動:
D:\MySQL\mysql-8.0.15-win64\bin\mysqld –defaults-file=D:\MySQL\mysql-8.0.15-win64\data803314\mysql803314.ini –init-file=d:\mysql-init.sql –console

📢📢📢 註意,此時可以以任意一個密碼登陸也可以以一個空密碼登陸 MySQL

📣 2.skip-grant-tables找回

步驟1:先停止MySQL服務
步驟2:啟動 MySQL 服務
mysqld_safe --defaults-file=/etc/my.cnf --skip-grant-tables &
註意,此時可以以任意一個密碼登陸也可以以一個空密碼登陸 MySQL

若 MySQL 是 8.0 且安裝在 Windows 上,則需要加上–shared-memory 參數:
G:\mysql-8.0.23-winx64\bin\mysqld –datadir=G:\mysql-8.0.23-winx64\data80323308 –console –skip-grant-tables –shared-memory
然後再開一個窗口,執行下面命令,此種方法使用內存的方式啟動
cd G:\mysql-8.0.23-winx64\bin

📣 3.修改參數文件找回

1.用命令編輯/etc/my.cnf配置文件,即:vim /etc/my.cnf 或者 vi /etc/my.cnf
2.在[mysqld]下添加skip-grant-tables,然後保存並退出
3.重啟mysql服務:service mysqld restart
4.更改root用戶名
重啟以後,執行mysql命令進入mysql命令行
5.修改root用戶密碼,此處註意,有時候會報不允許修改,先flush privileges再執行即可
--5.7版本
SQL> update mysql.user set authentication_string=password('root') where user='root';
SQL>  flush privileges;
--8.0版本
mysql> alter user root@'localhost' identified with mysql_native_password by '1'; 
--查詢
mysql> select user,host,grant_priv,super_priv,authentication_string,password_last_changed 
from mysql.user; 
6.把/etc/my.cnf中的skip-grant-tables註釋掉,然後重啟mysql,即:service mysqld restart
好瞭,下面就可以用root新的密碼登錄瞭!

mysql服務器忘記瞭超級管理員root密碼

最近筆者的一臺mysql服務器忘記瞭超級管理員root密碼,而mysql修改密碼必須得知道舊密碼的情況下才能進行,真的很鬱悶,找瞭很多方法都無 效,最終找到瞭解決方法,拿來分享,希望能給同樣遭遇的朋友帶來幫助。隻要你的服務器操作系統是Windows XP/2000/2003/NT都可以使用這個方法來重新修改mysql超級管理員root的密碼。

1、停止mysql服務

開始→運行→輸入cmd,打開命令提示符窗口,然後輸入net stop mysql,相關截圖如下所示:

2、在命令提示符窗口中進入mysql安裝目錄中的bin目錄

在命令提示符窗口中分別輸入以下兩條命令,每輸入一條命令按回車鍵:

d:

cd www\mysql\bin

3、進入mysql安全模式(這樣不用輸入密碼就能進入mysql數據庫)

輸入mysqld-nt –skip-grant-tables,此時屏幕上可能沒啥反應,不用管它,放在一邊接著往下做,相關截圖如下所示:

4、重新打開一個cmd命令提示符窗口,開始→運行→輸入cmd,在新打開命令提示符窗口中輸入mysql -uroot -p,然後提示輸入密碼,不用輸入密碼,直接按回車鍵,相關截圖如下所示:

5、輸入以下命令開始修改超級管理員root密碼(註意:命令中mysql.user中間有個“點”;命令中的htmer.com即為新密碼,根據你的實際情況,換成你的新密碼即可)

update mysql.user set password=PASSWORD(‘htmer.com') where User='root';

6、刷新權限表,輸入如下命令

flush privileges;

7、退出,輸入如下命令

quit

8、重新啟動mysql服務(也可以直接重啟服務器)

①打開任務管理器,將mysql-nt.exe這個進程結束,相關截圖就不給大傢分享出來瞭。

②在命令提示符中輸入net start mysql即可重新啟動mysql服務瞭。

到此這篇關於找回MySQL管理員root密碼的3個妙招的文章就介紹到這瞭,更多相關mysql root密碼找回內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: