MySQL數(shù)據(jù)庫忘掉密碼的幾種解決辦法(最新推薦)
如果你忘記了MySQL數(shù)據(jù)庫的root用戶密碼,以下是幾種不同的方法:
方法1:使用MySQL的--skip-grant-tables選項(xiàng)
停止MySQL服務(wù):
sudo systemctl stop mysql
以安全模式啟動(dòng)MySQL服務(wù):
sudo mysqld_safe --skip-grant-tables &
登錄MySQL:
mysql -u root mysql
重置密碼:
UPDATE user SET authentication_string=PASSWORD('new_password') WHERE User='root';FLUSH PRIVILEGES;exit
重啟MySQL服務(wù):
sudo systemctl start mysql
方法2:使用MySQL的--skip-networking選項(xiàng)
這種方法涉及停止MySQL服務(wù),然后以不使用網(wǎng)絡(luò)連接的方式啟動(dòng)MySQL服務(wù),從而允許你登錄并重置密碼:
停止MySQL服務(wù):
sudo systemctl stop mysql
以不使用網(wǎng)絡(luò)連接的方式啟動(dòng)MySQL服務(wù):
sudo mysqld_safe --skip-networking &
登錄MySQL:
mysql -u root mysql
重置密碼:
UPDATE user SET authentication_string=PASSWORD('new_password') WHERE User='root';FLUSH PRIVILEGES;exit
重啟MySQL服務(wù):
sudo systemctl start mysql
方法3:使用MySQL的--init-file選項(xiàng)
這種方法涉及創(chuàng)建一個(gè)包含重置密碼命令的文件,并在啟動(dòng)MySQL服務(wù)時(shí)使用--init-file
選項(xiàng)來執(zhí)行該文件:
創(chuàng)建一個(gè)包含重置密碼命令的文件:
echo "UPDATE user SET authentication_string=PASSWORD('new_password') WHERE User='root'; FLUSH PRIVILEGES;" > /tmp/init.sql
停止MySQL服務(wù):
sudo systemctl stop mysql
以安全模式啟動(dòng)MySQL服務(wù),并使用--init-file
選項(xiàng):
sudo mysqld_safe --init-file=/tmp/init.sql &
等待MySQL服務(wù)啟動(dòng)并執(zhí)行重置密碼命令。
重啟MySQL服務(wù):
sudo systemctl start mysql
方法4:使用MySQL的 --skip-grant-tables選項(xiàng)
1. 停止MySQL服務(wù)
首先,你需要停止正在運(yùn)行的MySQL服務(wù)。在Linux系統(tǒng)中,你可以使用以下命令:
sudo systemctl stop mysql
或者,如果你使用的是較舊的系統(tǒng),可能需要使用:
sudo service mysql stop
2. 以安全模式啟動(dòng)MySQL
接下來,以安全模式啟動(dòng)MySQL服務(wù),這樣你就可以不需要密碼就能登錄。在啟動(dòng)時(shí)添加--skip-grant-tables
參數(shù):
sudo mysqld_safe --skip-grant-tables &
3. 登錄MySQL
現(xiàn)在,你可以登錄到MySQL服務(wù)器,不需要密碼:
mysql -u root
4. 重置密碼
登錄后,你需要重置root用戶的密碼。首先,選擇MySQL數(shù)據(jù)庫:
USE mysql;
然后,更新root用戶的密碼。請(qǐng)將new_password
替換為你想要設(shè)置的新密碼:
UPDATE user SET authentication_string=PASSWORD('new_password') WHERE User='root';
如果你使用的是MySQL 5.7.6及以上版本,可能需要使用以下命令:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
5. 重啟MySQL服務(wù)
完成密碼重置后,退出MySQL客戶端:
exit
然后,重啟MySQL服務(wù):
sudo systemctl start mysql
6. 登錄驗(yàn)證
現(xiàn)在,你應(yīng)該可以使用新設(shè)置的密碼登錄MySQL了:
mysql -u root -p
輸入新密碼,你應(yīng)該能夠成功登錄。
注意事項(xiàng)
- 在執(zhí)行上述操作時(shí),請(qǐng)確保你有足夠的權(quán)限來停止和啟動(dòng)MySQL服務(wù)。
- 在重置密碼之前,建議備份你的數(shù)據(jù)庫,以防萬一。
- 如果你使用的是MySQL 5.7.6及以上版本,可能需要使用
ALTER USER
命令來重置密碼。 - 如果你使用的是MariaDB(MySQL的一個(gè)分支),步驟可能略有不同。
如果你在重置密碼的過程中遇到任何問題,建議查閱MySQL的官方文檔或?qū)で髮I(yè)的技術(shù)支持。
到此這篇關(guān)于MySQL忘掉密碼的幾種解決辦法的文章就介紹到這了,更多相關(guān)mysql忘掉密碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL如何從5.5升級(jí)到8.0(使用命令行升級(jí))
最近為了解決mysql低版本的漏洞,這篇文章主要給大家介紹了關(guān)于MySQL如何從5.5升級(jí)到8.0的相關(guān)資料,主要使用的命令行升級(jí),文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03MySQL 數(shù)據(jù)庫鎖的實(shí)現(xiàn)
本文主要介紹了MySQL 數(shù)據(jù)庫鎖的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03MySql 存儲(chǔ)引擎和索引相關(guān)知識(shí)總結(jié)
這篇文章主要介紹了MySql 存儲(chǔ)引擎和索引相關(guān)知識(shí)總結(jié),文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-06-06mysql遠(yuǎn)程登錄root賬戶報(bào)錯(cuò)1045的解決
這篇文章主要介紹了mysql遠(yuǎn)程登錄root賬戶報(bào)錯(cuò)1045的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04mysql 5.7.17 安裝教程 附MySQL服務(wù)無法啟動(dòng)的解決方法
這篇文章主要為大家詳細(xì)介紹了mysql 5.7.17安裝教程,并且為大家分享了MySQL服務(wù)無法啟動(dòng)的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03在MySQL中實(shí)現(xiàn)基于時(shí)間點(diǎn)的數(shù)據(jù)恢復(fù)
在MySQL中實(shí)現(xiàn)基于時(shí)間點(diǎn)的數(shù)據(jù)恢復(fù)是一個(gè)復(fù)雜但可行的過程,主要依賴于MySQL的二進(jìn)制日志(Binary Log),本文介紹了實(shí)現(xiàn)此功能的一般步驟,并有詳細(xì)的代碼供大家參考,需要的朋友可以參考下2024-03-03MySQL外鍵約束常見操作方法示例【查看、添加、修改、刪除】
這篇文章主要介紹了MySQL外鍵約束常見操作方法,結(jié)合實(shí)例形式分析了mysql針對(duì)外鍵約束的查看、添加、修改、刪除等相關(guān)操作實(shí)現(xiàn)方法,需要的朋友可以參考下2018-05-05