MySQL數(shù)據(jù)庫(kù)忘掉密碼的幾種解決辦法(最新推薦)
如果你忘記了MySQL數(shù)據(jù)庫(kù)的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ù)庫(kù):
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ù)庫(kù),以防萬(wàn)一。
- 如果你使用的是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)文章
CentOS 8 安裝 MySql并設(shè)置允許遠(yuǎn)程連接的方法
這篇文章主要介紹了CentOS 8 安裝 MySql并設(shè)置允許遠(yuǎn)程連接的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
mysql為字段添加和刪除唯一性索引(unique) 的方法
下面小編就為大家?guī)硪黄猰ysql為字段添加和刪除唯一性索引(unique) 的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03
一文帶你永久擺脫Mysql時(shí)區(qū)錯(cuò)誤問題(idea數(shù)據(jù)庫(kù)可視化插件配置)
在MySQL啟動(dòng)時(shí)會(huì)檢查當(dāng)前系統(tǒng)的時(shí)區(qū)并根據(jù)系統(tǒng)時(shí)區(qū)設(shè)置全局參數(shù)system_time_zone的值,下面這篇文章主要給大家介紹了關(guān)于如何永久擺脫Mysql時(shí)區(qū)錯(cuò)誤問題(idea數(shù)據(jù)庫(kù)可視化插件配置)的相關(guān)資料,需要的朋友可以參考下2022-08-08
linux下mysql開啟遠(yuǎn)程訪問權(quán)限 防火墻開放3306端口
這篇文章主要為大家詳細(xì)介紹了linux下mysql開啟遠(yuǎn)程訪問權(quán)限,防火墻開放3306端口,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01
mysql數(shù)據(jù)庫(kù)單表最大存儲(chǔ)依據(jù)詳解
這篇文章主要為大家介紹了mysql數(shù)據(jù)庫(kù)單表最大存儲(chǔ)的依據(jù)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
MySQL優(yōu)化之如何了解SQL的執(zhí)行頻率
MySQL 客戶端連接成功后,通過 show [session|global]status 命令 可以提供服務(wù)器狀態(tài)信息,也可以在操作系統(tǒng)上使用 mysqladmin extended-status 命令獲得這些消息2014-05-05

