MySQL8.0.12重置root密碼

MySQL8.0.12重置root密碼

 

在安裝完數據庫後,因爲本身不當心直接關閉了安裝窗口,或者長時間沒有使用root用戶登陸系統,致使忘記了root密碼,這時就須要重置MySQL的root密碼。固然,最簡單方式天然是刪除數據庫的data目錄,而後從新安裝數據庫。可是不少時間咱們須要保留data目錄中的數據,因此就須要查找如何重置root密碼。html

咱們知道,在知道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文件,固然,不刪除也是能夠的!mysql

方案二:使用登陸時跳過驗證的方式重置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服務,使用用戶名密碼進行驗證是否設置成功! 
sql

相關文章
相關標籤/搜索