如何重置mysql 密碼的方法

前言

如題,相信網上已經有很多雷鋒哥哥給出了解決方法,當我嘗試那些方法的時候遇到了一個問題,并沒有成功解決,至于什么問題,且讓我重新梳理一遍。

第一步:停止正在運行的mysql進程

可以在命令行中執行 net stop mysql 命令或是直接在進程管理器中進行關閉。
也可以直接點擊停止(如果你使用的是wamp),如下圖:
如何重置mysql 密碼的方法

第二步:以安全模式啟動MySQL

首先進入mysql的安裝目錄,例如 D:mysqlbin
執行
D:mysqlbin>mysqld.exe –skip-grant-tables
不出意外的話,此時當前窗口會進入掛起狀態,不要關閉窗口,重新打開另外一個命令行窗口執行如下命令
D:mysqlbin>mysql -uroot -p
此時會提示你輸入密碼,無視密碼,直接回車,方可進入mysql。

第三步:修改密碼

mysql>use mysql;
mysql>update user set password=password(“new_password”) where user=”root”;
那么問題來了,執行到這一步的時候你可能會報這個錯誤:
如何重置mysql 密碼的方法
修改失敗,原因很簡單,就是表中沒有password這個字段,那么究竟要改什么呢?很簡單,直接進入user表中看一眼即可知曉,執行如下命令:
mysql>select * from user where user=”root”;
可以看到下面輸出:
如何重置mysql 密碼的方法
很明顯,表中沒有password這個字段,但是有一個相對應一個64位加密的字符串的字段authentication_string(驗證字符串),把password更換成authentication_string即可。
mysql>update user set authentication_string=password(“new_password”) where user=”root”;
然后執行
mysql>flush privileges;
mysql>exit;
密碼修改成功。

第四步:關閉MySQL的安全模式

重新啟動即可,若是無法重啟,可以重啟電腦后再重啟。

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享