Mysql忘記密碼怎么重置密碼的幾種實(shí)現(xiàn)方法
每種方法都有其適用的情況,根據(jù)具體情況選擇合適的方法。無(wú)論選擇哪種方法,請(qǐng)務(wù)必在重置密碼后及時(shí)刪除臨時(shí)用戶并重新啟動(dòng) MySQL 服務(wù)。
一、使用 mysqladmin 重置密碼
停止服務(wù)
# systemctl 啟動(dòng)的使用這個(gè)停止 $ sudo systemctl stop mysql # mac 本機(jī),可以使用這個(gè)或可視化界面停止 $ sudo mysql.server stop
使用
mysqld_safe命令啟動(dòng)MySQL服務(wù),跳過(guò)權(quán)限檢查,執(zhí)行后可能需要回車(chē)下$ sudo mysqld_safe --skip-grant-tables &
登錄
MySQL服務(wù),并使用mysqladmin命令重置密碼# 無(wú)需密碼,會(huì)直接登入 $ mysql -u root # 刷新權(quán)限 mysql> FLUSH PRIVILEGES; # 這里的 'new_password' 是要設(shè)置的新密碼,可以根據(jù)需要進(jìn)行修改。此命令將修改 root 用戶在本地 MySQL 服務(wù)上的密碼。 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; # 修改好后退出 MySQL mysql> exit
停止
MySQL服務(wù),并重新啟動(dòng)密碼登入即可# 1、停止 MySQL 服務(wù)上面有,第一條就是 # 2、重啟啟動(dòng) MySQL 服務(wù),并使用密碼登入 # systemctl 啟動(dòng)的使用這個(gè)重新啟動(dòng) $ sudo systemctl start mysql # mac 本機(jī),可以使用這個(gè)或可視化界面啟動(dòng) $ sudo mysql.server start # 3、密碼登錄 $ mysql -u root -p # 附:如果再次使用 mysql -u root 這樣免密登錄是不成功的,停止重啟后會(huì)失效。
二、使用 mysqld 重置密碼
停止服務(wù)
# systemctl 啟動(dòng)的使用這個(gè)停止 $ sudo systemctl stop mysql # mac 本機(jī),可以使用這個(gè)或可視化界面停止 $ sudo mysql.server stop
使用
mysqld_safe命令啟動(dòng)MySQL服務(wù),跳過(guò)權(quán)限檢查,執(zhí)行后需要回車(chē)下$ sudo mysqld_safe --skip-grant-tables &
登錄
MySQL服務(wù),并創(chuàng)建新的臨時(shí)用戶,擁有root權(quán)限# 無(wú)需密碼,會(huì)直接登入 $ mysql -u root # 刷新權(quán)限 mysql> FLUSH PRIVILEGES; # 創(chuàng)建一個(gè)臨時(shí)用戶 temp_root 及 temp_password mysql> CREATE USER 'temp_root'@'localhost' IDENTIFIED BY 'temp_password'; # 設(shè)置權(quán)限 mysql> GRANT ALL PRIVILEGES ON *.* TO 'temp_root'@'localhost' WITH GRANT OPTION; # 修改好后退出 MySQL mysql> exit
停止
MySQL服務(wù),并重新啟動(dòng)密碼登入,并使用ALTER命令修改root用戶密碼# 1、停止 MySQL 服務(wù)上面有,第一條就是 # 2、重啟啟動(dòng) MySQL 服務(wù),并使用密碼登入 # systemctl 啟動(dòng)的使用這個(gè)重新啟動(dòng) $ sudo systemctl start mysql # mac 本機(jī),可以使用這個(gè)或可視化界面啟動(dòng) $ sudo mysql.server start # 3、臨時(shí)用戶密碼登錄 $ mysql -u temp_root -p # 4、這里的 'new_password' 是要設(shè)置的新密碼,可以根據(jù)需要進(jìn)行修改。此命令將修改 root 用戶在本地 MySQL 服務(wù)上的密碼。 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; # 5、修改好后退出 MySQL mysql> exit # 6、停止 MySQL 服務(wù)上面有,第一條就是 # 附:如果再次使用 mysql -u root 這樣免密登錄是不成功的,停止重啟后會(huì)失效。
再次使用
mysqld_safe命令啟動(dòng)MySQL服務(wù),跳過(guò)權(quán)限檢查,刪除臨時(shí)用戶$ sudo mysqld_safe --skip-grant-tables & $ mysql -u root mysql> FLUSH PRIVILEGES; mysql> REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'temp_root'@'localhost'; mysql> DROP USER 'temp_root'@'localhost'; mysql> exit
再次重啟
MySQL服務(wù),并使用修改好的root密碼登入# 1、停止 MySQL 服務(wù)上面有,第一條就是 # 2、重啟啟動(dòng) MySQL 服務(wù),并使用密碼登入 # systemctl 啟動(dòng)的使用這個(gè)重新啟動(dòng) $ sudo systemctl start mysql # mac 本機(jī),可以使用這個(gè)或可視化界面啟動(dòng) $ sudo mysql.server start # 3、密碼登錄 $ mysql -u root -p
三、使用 MySQL 安全性模式重置密碼
停止服務(wù)
# systemctl 啟動(dòng)的使用這個(gè)停止 $ sudo systemctl stop mysql # mac 本機(jī),可以使用這個(gè)或可視化界面停止 $ sudo mysql.server stop
啟動(dòng)
MySQL安全性模式$ sudo mysqld_safe --skip-grant-tables --skip-networking &
登錄
MySQL服務(wù),并使用mysqladmin命令重置密碼# 無(wú)需密碼,會(huì)直接登入 $ mysql -u root mysql> FLUSH PRIVILEGES; # 這里的 'new_password' 是要設(shè)置的新密碼,可以根據(jù)需要進(jìn)行修改。此命令將修改 root 用戶在本地 MySQL 服務(wù)上的密碼。 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; # 修改好后退出 MySQL mysql> exit
停止
MySQL安全性模式$ sudo killall mysqld_safe # 如果在本地機(jī)器上執(zhí)行上面命令無(wú)法停止安全模式,可以通過(guò)殺死進(jìn)程方式解決 # 1、列出 mysqld_safe 的進(jìn)程 $ ps aux | grep mysqld_safe # 2、拿到 PID 全部殺死,應(yīng)該是第二列,就幾位純數(shù)字的,如果不知道可以單獨(dú)輸出 $ ps aux 看一下。 $ sudo kill -9 xxx xxx ...
停止
MySQL服務(wù),并重新啟動(dòng)密碼登入即可# 1、停止 MySQL 服務(wù)上面有,第一條就是,如果通過(guò) $ sudo kill 可以一起就殺死了。 # 2、重啟啟動(dòng) MySQL 服務(wù),并使用密碼登入 # systemctl 啟動(dòng)的使用這個(gè)重新啟動(dòng) $ sudo systemctl start mysql # mac 本機(jī),可以使用這個(gè)或可視化界面啟動(dòng) $ sudo mysql.server start # 3、密碼登錄 $ mysql -u root -p # 附:如果再次使用 mysql -u root 這樣免密登錄是不成功的,停止重啟后會(huì)失效。
四、使用 my.cnf 重置密碼
該方式跟上面
方式一基本一致,只是將命令中的跳過(guò)權(quán)限指令寫(xiě)到my.cnf中,修改好后再移除。在修改
my.cnf之前一定要關(guān)閉mysql進(jìn)程,關(guān)閉mysql,不然可能會(huì)遇到mysql的sock不能連接的問(wèn)題!停止服務(wù)
# systemctl 啟動(dòng)的使用這個(gè)停止 $ sudo systemctl stop mysql # mac 本機(jī),可以使用這個(gè)或可視化界面停止 $ sudo mysql.server stop
打開(kāi)
my.cnf,沒(méi)有則創(chuàng)建一個(gè)$ sudo vim /etc/my.cnf
進(jìn)入
vim編輯器編輯之后,找到[mysqld],按鍵盤(pán)的i鍵進(jìn)入編輯模式,在[mysqld]后面任意一行添加skip-grant-tables用來(lái)跳過(guò)密碼驗(yàn)證的過(guò)程。按ESC退出編輯,鍵入:wq,回車(chē)即保存并退出。[mysqld] skip-grant-tables
啟動(dòng)
mysqld服務(wù)# systemctl 啟動(dòng)的使用這個(gè)重新啟動(dòng) $ sudo systemctl start mysql # mac 本機(jī),可以使用這個(gè)或可視化界面啟動(dòng) $ sudo mysql.server start
登錄
MySQL服務(wù),并使用mysqladmin命令重置密碼# 無(wú)需密碼,會(huì)直接登入 $ mysql -u root # 這里的 'new_password' 是要設(shè)置的新密碼,可以根據(jù)需要進(jìn)行修改。此命令將修改 root 用戶在本地 MySQL 服務(wù)上的密碼。 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; # 刷新權(quán)限 mysql> FLUSH PRIVILEGES; # 修改好后退出 MySQL mysql> exit
再次打開(kāi)
my.cnf,移除剛才添加的skip-grant-tables,保存重啟MySQL服務(wù),并使用新的密碼登入。
到此這篇關(guān)于Mysql忘記密碼怎么重置密碼的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)Mysql忘記密碼重置密碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mysql數(shù)據(jù)庫(kù)性能優(yōu)化之子查詢
這篇文章主要介紹了Mysql數(shù)據(jù)庫(kù)性能優(yōu)化之子查詢的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-01-01
MySQL中設(shè)置服務(wù)器級(jí)別的默認(rèn)排序規(guī)則的方法
collation_server?是一個(gè)系統(tǒng)變量,它定義了服務(wù)器級(jí)別的默認(rèn)排序規(guī)則,本文主要介紹了MySQL中設(shè)置服務(wù)器級(jí)別的默認(rèn)排序規(guī)則的方法,具有一定的參考價(jià)值,感興趣的可以了解一下2024-08-08
Mysql 5.7 服務(wù)下載安裝圖文教程(經(jīng)典版)
MySQL 5.7在諸多方面都進(jìn)行了大幅的改進(jìn),主要在于安全性、靈活性、易用性、可用性和性能等幾個(gè)方面。這篇文章主要介紹了Mysql5.7服務(wù)下載安裝圖文教程(經(jīng)典版),需要的朋友可以參考下2016-09-09
MySQL 數(shù)據(jù)表修復(fù)方法小結(jié)
本文主要介紹了MySQL 數(shù)據(jù)表修復(fù)方法小結(jié),使用REPAIR TABLE命令修復(fù)損壞,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08
MYSQL中統(tǒng)計(jì)查詢結(jié)果總行數(shù)的便捷方法省去count(*)
查看手冊(cè)后發(fā)現(xiàn)SQL_CALC_FOUND_ROWS關(guān)鍵詞的作用是在查詢時(shí)統(tǒng)計(jì)滿足過(guò)濾條件后的結(jié)果的總數(shù)(不受 Limit 的限制)具體使用如下,感興趣的朋友可以學(xué)習(xí)下2013-07-07
SQL如何使用正則表達(dá)式對(duì)數(shù)據(jù)進(jìn)行過(guò)濾
正則表達(dá)式的作用是匹配文本,將一個(gè)正則表達(dá)式與一個(gè)文本串進(jìn)行比較,下面這篇文章主要給大家介紹了關(guān)于SQL如何使用正則表達(dá)式對(duì)數(shù)據(jù)進(jìn)行過(guò)濾的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09
解決mysql ERROR 1045 (28000)-- Access denied for user問(wèn)題
這篇文章主要介紹了mysql ERROR 1045 (28000)-- Access denied for user解決方法,需要的朋友可以參考下2018-03-03

