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