最近學習碰到了一件挺令人尷尬的事情,我把MySQL的密碼給忘記了,所以MySQL登入不進去。在網路上找的解決方案都不可靠,下面小編給大家分享Windows 8.1下MySQL5.7 忘記root 密碼的解決方法,需要的朋友一起看看吧,希望能幫助大家。
【背景】
最近學習碰到了一件挺令人尷尬的事情,我把MySQL的密碼給忘記了,所以MySQL登入不進去。
網上的解決方案很多,嘗試了很多,依舊是被窗口的各種錯誤行為。感謝大神的助力,MySQL忘記密碼解決方案得以清晰,希望這篇部落格的解決過程可以幫助讀者。
【問題解決過程】
一、跳過MySQL的權限審查進入MySQL
# 首先,找出MySQL的my.ini設定檔。
然後,開啟文件,在mysqld下,加入一句代碼 skip-grant-tables ,以跳過權限的審核。
##ofsql
##二、在mysql.user表中重設密碼
首先,cmd進入DOS窗口,輸入MySQL,並回車。就可以順利進入MySQL,而不需要密碼。 (我之前連這一步都 實現不了,所以當成功進入MySQL的時候,別提我心裡多高興了~~)
## 7 把password的欄位給換掉了,換成了authentication_string<中文意義認證字串>。 ==========
# 此處,且對host進行一下了解。
Host欄位指定了允許使用者登入所使用的IP範圍。
例如user=root Host=192.168.21.1。這裡的意思是說root用戶只能透過192.168.21.1的客戶端去存取。而%是個通配符,如果Host=192.168.1.%,那麼就表示只要是IP位址前綴為「192.168.21.」的客戶端都可以連線。如果Host=%,表示所有IP都有連線權限。所以要開啟遠端連線的時候,大部分人都直接把Host改成%的緣故,因為這樣超方便。
=================================
Update mysql.user set host="%",authentication_string=password('root') where user='root';
三、重新整理權限,將變更完且處於緩衝區內的資料更新。 flush privileges
還有一點小問題:刷新之後,你直接輸入mysql,是沒有辦法跳過密碼審核進入MySQL的,但是設定檔明明還沒把那句skip-grant-tables 註解掉啊?刷新會忽略掉剛才修改的設定檔麼?
反正,後來還是把my.ini裡那句 skip-grant-tables 註解了。 。
#四、使用你的密碼登入!
首先,輸入 mysql -u root -p ,然後輸入剛才設定的密碼,就可以成功進入囉!
最後,請養成好習慣,記得你的寶貝密碼。 :)
#【小結】
本來想重新安裝MySQL的心都有了,但是還是堅持到問題成功解決,過程是堅持到問題成功解決,過程是堅持到問題有點痛苦,但結局是美好的。
相關推薦:
Windows10安裝MySQL5.7及忘記root密碼修改方法
Window下Mysql忘記root密碼怎麼重置的圖文詳細介紹
以上是Windows 8.1下MySQL5.7 忘記root 密碼如何解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!