MySQL?root密碼忘了的超詳細(xì)重置步驟教程
問題描述
在使用 MySQL 數(shù)據(jù)庫時(shí),若不慎忘記 root 賬戶的登錄密碼,會(huì)導(dǎo)致無法正常登錄數(shù)據(jù)庫,影響后續(xù)操作。本文將詳細(xì)介紹如何通過修改配置、重置密碼等步驟,解決 MySQL root 密碼遺忘的問題。

問題解決
- 修改配置文件,添加跳過權(quán)限驗(yàn)證的參數(shù)
首先需要修改 MySQL 的配置文件,臨時(shí)跳過權(quán)限驗(yàn)證,以便無密碼登錄數(shù)據(jù)庫。
- 使用 vim 編輯器打開 MySQL 配置文件:
vim /data/mysql/conf/my.cnf
- 在配置文件的
[mysqld]模塊下添加以下參數(shù)(用于跳過權(quán)限驗(yàn)證):
skip-grant-tables

- 重啟 MySQL 服務(wù),使配置生效
添加參數(shù)后,需重啟 MySQL 服務(wù),讓新配置生效:
/etc/init.d/mysql.server restart
- 以免密碼方式登錄 MySQL
配置生效后,可直接無密碼登錄 root 賬戶:
mysql -uroot -p
執(zhí)行上述命令后,系統(tǒng)會(huì)提示輸入密碼,此時(shí)直接按回車(無需輸入密碼)即可登錄。
- 清空 root 賬戶原密碼(解決直接改密報(bào)錯(cuò)問題)
登錄后若直接使用ALTER USER命令修改密碼,會(huì)因權(quán)限驗(yàn)證被跳過而報(bào)錯(cuò)。因此需先通過修改用戶表,將 root 密碼設(shè)為空:
update mysql.user set authentication_string = '' where user = 'root' and host='localhost';
- 移除跳過權(quán)限驗(yàn)證的參數(shù),重啟服務(wù)
完成密碼清空后,需恢復(fù) MySQL 的權(quán)限驗(yàn)證機(jī)制:
- 重新打開配置文件,刪除之前添加的
skip-grant-tables參數(shù):
vim /data/mysql/conf/my.cnf
(在 vim 編輯模式下,定位到該參數(shù)行,按dd刪除)
- 再次重啟 MySQL 服務(wù),使配置恢復(fù):
/etc/init.d/mysql.server restart
- 使用空密碼登錄,重新設(shè)置 root 密碼
此時(shí) MySQL 已恢復(fù)權(quán)限驗(yàn)證,可使用空密碼登錄 root 賬戶:
mysql -uroot -p
(輸入密碼時(shí)直接按回車,因步驟 4 已將密碼設(shè)為空)
登錄后,通過ALTER USER命令設(shè)置新密碼(以dup81Gcda2為例):
alter user user() identified by 'dup81Gcda2';
- 驗(yàn)證新密碼是否生效
使用新密碼重新登錄 MySQL,確認(rèn)密碼修改成功:
mysql -uroot -p

輸入剛設(shè)置的新密碼dup81Gcda2,若能正常登錄,則說明問題已解決。
通過以上步驟,即可成功重置 MySQL root 賬戶的密碼,恢復(fù)數(shù)據(jù)庫的正常登錄。
總結(jié)
到此這篇關(guān)于MySQL root密碼忘了重置步驟的文章就介紹到這了,更多相關(guān)MySQL root密碼忘了內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL內(nèi)存及虛擬內(nèi)存優(yōu)化設(shè)置參數(shù)
這篇文章主要介紹了MySQL內(nèi)存及虛擬內(nèi)存優(yōu)化設(shè)置參數(shù),需要的朋友可以參考下2016-05-05
基于C++實(shí)現(xiàn)Mysql數(shù)據(jù)庫連接池實(shí)例
數(shù)據(jù)庫連接池負(fù)責(zé)分配、管理、和釋放數(shù)據(jù)庫連接,允許使用應(yīng)用程序重復(fù)使用一個(gè)現(xiàn)有的數(shù)據(jù)庫連接。數(shù)據(jù)庫連接是關(guān)鍵有限且昂貴的資源,一個(gè)數(shù)據(jù)庫連接對象均對應(yīng)一個(gè)物理數(shù)據(jù)庫的連接,每次操作都打開一個(gè)物理連接,使用完都關(guān)閉連接2022-12-12

