找回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!
推薦閱讀:
- win10下mysql 8.0.23 安裝配置方法圖文教程
- MySQL8.0+版本1045錯誤的問題及解決辦法
- docker mysql修改root賬號密碼並賦予權限
- MySql8.023安裝過程圖文詳解(首次安裝)
- MySQL8.0修改密碼的正確姿勢分享