在安裝完資料庫後,由於自己不小心直接關閉了安裝視窗,或者長時間沒有使用root使用者登入系統,導致忘記了root密碼,這時就需要重置mysql的root密碼。當然,最簡單方式自然是刪除資料庫的data目錄,然後重新安裝資料庫。但是很多時間我們需要保留data目錄中的資料,所以就需要查詢如何重置root密碼。
我們知道,在知道root密碼時,可以使用「alter user 『root』@』localhost』 identified by 『新密碼』;」指令來修改root使用者的密碼,如下圖:
只需要這一行指令就完成了對root密碼的從新設定,無需其他操作,十分的簡單。
但是,如果忘記了root密碼,又該如何重置呢?根據官方文件的描述,windows系統下有兩種方法可以修改密碼,官方文件請參考:
方案一:執行初始化檔案
步驟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服務,使用使用者名稱密碼進行驗證是否設定成功!
MySQL8 0 13安裝修改root密碼
8.0.13這個版本真是一言難盡,安裝過程中遇到了幾個坑著實讓人抓狂,寫出來希望後來的人看到可以少點折騰。之前版本存在的預設配置檔案在這版裡沒有了,因此需要我們手動新增乙個my.ini配置檔案,儲存的時候要儲存為utf 8,記得要手動修改兩個目錄資訊!client default character...
Mysql 8 0 13如何重置密碼
在網上搜尋了很多辦法都不成功,直到看到 綠茶葉 的部落格按他的方法重置成功,在這裡表示感謝。這裡記錄下他的方法,以便以後查閱。1 開啟cmd,輸入 net stop mysql,停止mysql的服務 2 跳過密碼驗證登入mysql服務 輸入命令 mysqld console skip grant t...
Mysql 8 0 13在liunx上 密碼重置
在阿里雲centos7 中安裝mysql 8.0.13 後,在設定遠端登入環節。root 密碼搞丟了。弄了好久才找回密碼。廢了我一下午時間。systemctl status mysqld.service systemctl stop mysqld.service systemctl start my...