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)文章
CentOS 8 安裝 MySql并設(shè)置允許遠(yuǎn)程連接的方法
這篇文章主要介紹了CentOS 8 安裝 MySql并設(shè)置允許遠(yuǎn)程連接的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09
mysql為字段添加和刪除唯一性索引(unique) 的方法
下面小編就為大家?guī)硪黄猰ysql為字段添加和刪除唯一性索引(unique) 的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03
一文帶你永久擺脫Mysql時區(qū)錯誤問題(idea數(shù)據(jù)庫可視化插件配置)
在MySQL啟動時會檢查當(dāng)前系統(tǒng)的時區(qū)并根據(jù)系統(tǒng)時區(qū)設(shè)置全局參數(shù)system_time_zone的值,下面這篇文章主要給大家介紹了關(guān)于如何永久擺脫Mysql時區(qū)錯誤問題(idea數(shù)據(jù)庫可視化插件配置)的相關(guān)資料,需要的朋友可以參考下2022-08-08
linux下mysql開啟遠(yuǎn)程訪問權(quán)限 防火墻開放3306端口
這篇文章主要為大家詳細(xì)介紹了linux下mysql開啟遠(yuǎn)程訪問權(quán)限,防火墻開放3306端口,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-01-01
mysql數(shù)據(jù)庫單表最大存儲依據(jù)詳解
這篇文章主要為大家介紹了mysql數(shù)據(jù)庫單表最大存儲的依據(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

