1. 程式人生 > >mysql8.0.13修改密碼

mysql8.0.13修改密碼

在安裝完資料庫後,由於自己不小心直接關閉了安裝視窗,或者長時間沒有使用root使用者登入系統,導致忘記了root密碼,這時就需要重置MySQL的root密碼。當然,最簡單方式自然是刪除資料庫的data目錄,然後重新安裝資料庫。但是很多時間我們需要保留data目錄中的資料,所以就需要查詢如何重置root密碼。

我們知道,在知道root密碼時,可以使用“ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘新密碼’;”指令來修改root使用者的密碼,如下圖:

 

只需要這一行指令就完成了對root密碼的從新設定,無需其他操作,十分的簡單。
但是,如果忘記了root密碼,又該如何重置呢?根據官方文件的描述,Windows系統下有兩種方法可以修改密碼,官方文件請參考:https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html
方案一:執行初始化檔案
步驟1:使用管理許可權的賬戶登入系統;
步驟2:停止MySQL的服務,不管用什麼方法,必須讓它停下來,如下圖:

 



步驟3:建立一個檔案mysql-init.txt,裡面寫著修改密碼的指令“ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘新密碼’;”,然後將檔案儲存,如圖所示:

 



步驟4:在終端介面中,進入到MySQL安裝的bin目錄下:

 



步驟5:在bin目錄下,執行mysqld,並指定剛才建立的mysql-ini.txt作為初始化檔案,使用指令為“mysqld –defaults-file=”D:\Programs\MySQL\MySQL-8.0.12-winx64\my.ini” –init-file=”D:\Programs\MySQL\mysql-ini.txt””,其中,–defaults-file指定的是配置檔案,–init-file指定的是初始化執行的檔案,如下圖所示:

 

按回車鍵之後,不要關閉終端,需要再開啟一個終端,來確認密碼修改是否成功:

 



很明顯,登陸成功了,修改密碼方式正確!
當然,若是真的關閉了終端,也可以使用“net start MySQL”的指令方式啟動MySQL,然後再進行驗證:

 



步驟6:刪除建立的mysql-ini.txt檔案,當然,不刪除也是可以的!

方案二:使用登入時跳過驗證的方式重置root密碼
步驟1:先關閉MySQL服務,然後使用“–skip-grant-tables”配置項,跳過許可權驗證方式重啟MySQL服務:

 



這裡使用的指令是“mysqld –shared-memory –skip-grant-tables”,若是隻是“mysqld –skip-grant-tables”的話,會導致mysqld啟動失敗,提示“TCP/IP, –shared-memory, or –named-pipe should be configured on NT OS”錯誤。經過測試,只有加上“–shared-memory”才能啟動、訪問資料庫。
步驟2:在開啟一個終端,在裡面使用免密的方式登陸資料庫,直接執行mysql即可:

 



步驟3:首先重新整理執行指令“FLUSH PRIVILEGES;”,重新整理許可權:

 



然後執行指令“ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘new_psd_123’;”進行密碼更新操作,“new_psd_123”即是設定的新密碼:

 



設定完成後,正常啟動MySQL服務,使用使用者名稱密碼進行驗證是否設定成功!

 

---------------------
作者:好記憶和爛筆頭
來源:CSDN
原文:https://blog.csdn.net/baidu_32363401/article/details/81544573
版權宣告:本文為博主原創文章,轉載請附上博文連結!