MySQL密碼忘記了5分鐘快速找回全攻略(附詳細(xì)圖解)
問題場景
"啊糟糕!我的MySQL root密碼是多少來著?"相信很多開發(fā)者都經(jīng)歷過這種抓狂時(shí)刻(特別是剛接觸數(shù)據(jù)庫的新手)。當(dāng)我們遇到以下情況時(shí):
- 安裝時(shí)設(shè)置的密碼怎么輸都不對
- 突然發(fā)現(xiàn)密碼本上的記錄不見了
- 接手老項(xiàng)目時(shí)前任沒留密碼
- 安全策略強(qiáng)制修改后忘記新密碼
別慌!今天教大家兩種超實(shí)用的密碼重置方案,Windows和Mac系統(tǒng)通用,實(shí)測最快3分鐘搞定!
解決思路(超級重要)
通過跳過MySQL的權(quán)限驗(yàn)證 → 進(jìn)入無密碼模式 → 修改root密碼 → 恢復(fù)權(quán)限驗(yàn)證。整個過程就像給數(shù)據(jù)庫做了一次"心臟起搏"!
原理示意圖:
停止MySQL服務(wù) → 啟動跳過權(quán)限驗(yàn)證模式 → 修改密碼 → 重啟正常服務(wù)
Windows系統(tǒng)操作步驟
步驟1:停止MySQL服務(wù)
# 管理員模式運(yùn)行CMD net stop mysql # 如果提示服務(wù)不存在,可能是服務(wù)名不同,嘗試: net stop mysql80
步驟2:創(chuàng)建臨時(shí)啟動配置
新建my.ini文件(建議放在C:\ProgramData\MySQL\MySQL Server 8.0),添加:
[mysqld] skip-grant-tables
步驟3:啟動無密碼模式
mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --console
步驟4:修改root密碼
保持服務(wù)運(yùn)行,新開CMD窗口:
mysql -u root # 刷新權(quán)限 FLUSH PRIVILEGES; # 修改密碼(MySQL 5.7+) ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密碼';
步驟5:恢復(fù)服務(wù)
- 關(guān)閉無密碼模式窗口
- 刪除my.ini中的skip-grant-tables
- 重啟服務(wù):
net start mysql
Mac系統(tǒng)操作指南
方法1:終端操作
# 停止MySQL服務(wù) sudo /usr/local/mysql/support-files/mysql.server stop # 安全模式啟動 sudo mysqld_safe --skip-grant-tables & # 連接數(shù)據(jù)庫 mysql -u root # 修改密碼(注意替換your_new_password) FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';
方法2:系統(tǒng)偏好法
- 打開MySQL偏好設(shè)置面板
- 點(diǎn)擊"Initialize Database"按鈕
- 選擇"Use Legacy Password Encryption"
- 設(shè)置新密碼
(適合完全忘記root密碼且不想操作終端的情況)
驗(yàn)證是否成功
mysql -u root -p # 輸入新密碼后能正常登錄即成功!
預(yù)防措施
- 使用密碼管理工具(推薦KeePass)
- 設(shè)置密碼提示(但不要直接寫密碼)
- 定期修改密碼(建議每90天)
- 創(chuàng)建備用賬號(非root賬號日常使用)
注意事項(xiàng)
- 操作前務(wù)必備份數(shù)據(jù)(重要的事情說三遍?。?/li>
- MySQL 5.7與8.0版本命令略有不同
- 如果遇到
ERROR 1290,先執(zhí)行FLUSH PRIVILEGES; - 云服務(wù)器可能需要先關(guān)閉安全組
拓展知識
Q:為什么不能直接修改user表?
A:因?yàn)镸ySQL 5.7之后采用新的密碼加密方式,直接改表會導(dǎo)致加密不匹配!
Q:忘記非root賬號密碼怎么辦?
A:同樣適用本教程,只需把root改成對應(yīng)用戶名即可
Q:修改后還是登錄失?。?/p>
A:檢查是否有空格/特殊字符,嘗試用mysql_native_password插件:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼';
希望這篇教程能拯救你的抓狂時(shí)刻!
總結(jié)
到此這篇關(guān)于MySQL密碼忘記了5分鐘快速找回全攻略的文章就介紹到這了,更多相關(guān)MySQL密碼忘記了找回內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql 5.7.17 以及workbench安裝配置圖文教程
這篇文章主要為大家詳細(xì)介紹了mysql 5.7.17 以及workbench安裝配置圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06
MySQL8.0.23版本的root密碼重置最優(yōu)解法
這篇文章主要介紹了MySQL8.0.23版本的root密碼重置最優(yōu)解法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
MySQL 使用 ORDER BY 排序和 DELETE 刪
這篇文章主要介紹了MySQL 使用 ORDER BY 排序和 DELETE 刪除記錄的操作過程,即數(shù)據(jù)庫查詢與數(shù)據(jù)操作,本文通過示例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2023-11-11
MySQL遠(yuǎn)程無法連接的一些常見原因總結(jié)
有的小伙伴發(fā)現(xiàn)自己的mysql無法正常連接遠(yuǎn)程服務(wù)器,下面這篇文章主要給大家介紹了關(guān)于MySQL遠(yuǎn)程無法連接的一些常見原因,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09
MySQL表不存在Table doesn't exist錯誤的常見原因及解決方案
在MySQL數(shù)據(jù)庫操作中,Table doesn't exis是一個常見的錯誤,通常發(fā)生在嘗試訪問不存在的表時(shí),這個錯誤可能由多種原因引起,本文將系統(tǒng)性總結(jié)Table doesn't exist錯誤的常見原因及解決方案,并提供豐富的代碼和表格示例分析,需要的朋友可以參考下2025-06-06

