MySQL-8.0.21資料庫密碼忘了如何解決?
阿新 • • 發佈:2020-09-17
工作需要,最近搞資料庫,但是密碼不記得了,網上找了很多方法,沒有一個可以一步到位解決成功的。具體方法總結如下,避免以後再掉坑裡兒。
首先,執行操作之前確保mysql伺服器端已結束執行。
一、找到mysql安裝目錄下的bin資料夾,在此開啟命令列介面,輸入以下語句並回車:
**mysqld --console --skip-grant-tables --shared-memory**
![](https://img2020.cnblogs.com/blog/1201357/202009/1201357-20200917161353813-132500009.png)
這一步主要是為了跳過mysql的使用者驗證。
二、在mysql安裝目錄下的bin資料夾下,重新開啟一個新的命令列介面,此時可以直接登入資料庫,提示輸入密碼時直接回車
**mysql -u root -p**
三、登入後選擇mysql資料庫,使用者名稱密碼儲存在user表中
1、檢視所有資料庫:show database; 2、選擇mysql資料庫:use mysql 3、檢視所有表:show tables
4、檢視賬戶資訊:**select user,host,authentication_string from user;**
![](https://img2020.cnblogs.com/blog/1201357/202009/1201357-20200917153236232-1568372903.png)
![](https://img2020.cnblogs.com/blog/1201357/202009/1201357-20200917153831457-1498223220.png)
四、先執行下面的語句將密碼設為空
**UPDATE user SET authentication_string = '' WHERE User = 'root';**
五、設定新密碼:
**ALTER user 'root'@'localhost' identified by '新密碼';**
此時可能會報錯:The MySQL server is running with the --skip-grant-tables option so it cannot execute。
那麼就執行: flush privileges; 去重新整理許可權;繼續設定新密碼
六、上述步驟執行完之後記得要重新整理許可權
**flush privileges;**
至此密碼就修改成功。可以啟動mysqi服務,登入mysql去驗證是否成功。