MySQL忘記密碼的解決方案(重置密碼)

問題描述

之前開發(fā)一個(gè)項(xiàng)目,在本地建了一個(gè)MySQL數(shù)據(jù)庫,后來項(xiàng)目擱淺,MySQL數(shù)據(jù)庫就一直躺在硬盤里。也不知道過了多久,現(xiàn)在需要回過頭來繼續(xù)開發(fā)項(xiàng)目,但是MySQL密碼早就忘記了,尷尬⊙﹏⊙‖∣
好在MySQL服務(wù)和安裝目錄都還在,所以嘗試著按照網(wǎng)上的教程來重置MySQL密碼。

啟動(dòng)MySQL、并重置密碼

MySQL通常是通過服務(wù)來啟動(dòng),不過除了服務(wù)來啟動(dòng),還可以通過命令行的方式來啟動(dòng)。

  1. 首先找到打開服務(wù)窗口,找到MySQL服務(wù),雙擊查看服務(wù)詳情。
    MySQL服務(wù)
  2. 通過服務(wù)詳情,我們可以看到實(shí)際該服務(wù)的執(zhí)行命令為D:\mysqlx64_5.6.16\bin\mysqld MySQL,即實(shí)際上服務(wù)是通過調(diào)用mysql命令行來啟動(dòng)MySQL服務(wù)的,其中所以我們可以手動(dòng)在命令行窗口來通過執(zhí)行mysqld命令來啟動(dòng)mysql。如下:
mysqld MySQL

可以經(jīng)過一頓操作之后,發(fā)現(xiàn)通過上面的操作之后,MySQL進(jìn)程并沒有啟動(dòng),真是大寫的尷尬。

進(jìn)程里并沒有MySQL

后來通過一番排(bai)查(du)之后發(fā)現(xiàn)如果需要通過命令行來啟動(dòng)MySQL,則需要添加--console參數(shù),即完整的命令應(yīng)該是:

mysqld --console

通過上面的命令,可以成功啟動(dòng)MySQL,并且進(jìn)程列表里也能找到mysqld的進(jìn)程:


mysqld --console執(zhí)行效果

進(jìn)程列表里也能看到mysqld的進(jìn)程
  1. 接下來算是比較關(guān)鍵的一步,就是通過跳過權(quán)限驗(yàn)證的參數(shù)來啟動(dòng)MySQL。
    在命令行窗口,按Ctrl + C結(jié)束上面的MySQL進(jìn)程之后,另外添加skip-grant-tables參數(shù),可以以跳過權(quán)限驗(yàn)證的方式啟動(dòng)MySQL。
mysqld --console --skip-grant-tables

此時(shí)我們可以看到MySQL正常啟動(dòng):
MySQL正常啟動(dòng)
  1. 通過上述方式啟動(dòng)MySQL后,我們再通過數(shù)據(jù)庫連接工具,比如Navicat,連接本地的MySQL。由于MySQL啟動(dòng)時(shí)加了skip-grant-tables參數(shù),此時(shí)我們可以輸入任何的賬號和密碼登錄MySQL。
    登錄MySQL
  2. 修改MySQL中root的密碼。
    MySQL中所有的用戶信息都存在mysql.user表,我們可以通過修改該表的相關(guān)信息來達(dá)到修改密碼的目的。
    mysql.user表
update mysql.user set password = password ('abc123') where user = 'root'; -- 其中abc123為新密碼
flush PRIVILEGES; -- 刷新MySQL的系統(tǒng)權(quán)限相關(guān)表
  1. 執(zhí)行完上述操作后,就可以通過正常方式重新啟動(dòng)MySQL,并用新密碼進(jìn)行登陸了。

寫在最后

對于參數(shù)skip-grant-tables,除了可以在命令行的的方式添加,也可以通過修改MySQL配置文件my.ini的方式添加,在此不展開來講。對于正式生產(chǎn)環(huán)境,一定要記得關(guān)閉該參數(shù),切記!??!

參考鏈接:
https://blog.csdn.net/m0_58016522/article/details/121669236

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容