最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL root用戶(hù)密碼忘記的兩種情況及解決方案

 更新時(shí)間:2026年03月20日 09:59:24   作者:xgstb  
在使用MySQL數(shù)據(jù)庫(kù)的的過(guò)程中,不可避免的會(huì)出現(xiàn)忘記密碼的現(xiàn)象,普通用戶(hù)的密碼如果忘記,可以用更高權(quán)限的用戶(hù)進(jìn)行重置,但是如果root用戶(hù)的密碼忘記了,那這個(gè)方法就行不通了,本文介紹2種在忘記root用戶(hù)用戶(hù)密碼的情況下,如何進(jìn)行重設(shè),需要的朋友可以參考下

引言

在使用MySQL數(shù)據(jù)庫(kù)的的過(guò)程中,不可避免的會(huì)出現(xiàn)忘記密碼的現(xiàn)象。普通用戶(hù)的密碼如果忘記,可以用更高權(quán)限的用戶(hù)(例如root)進(jìn)行重置。但是如果root用戶(hù)的密碼忘記了,由于root用戶(hù)本身就是最高權(quán)限,那這個(gè)方法就行不通了。本文介紹2種在忘記root用戶(hù)用戶(hù)密碼的情況下,如何進(jìn)行重設(shè)。

一、使用–init-file參數(shù)重設(shè)

由于忘記了root密碼,我們是無(wú)法通過(guò)root用戶(hù)連接到數(shù)據(jù)庫(kù)的,因此也無(wú)法通過(guò)客戶(hù)端執(zhí)行alter user或set password命令來(lái)重置密碼。MySQL提供了init-file參數(shù),在啟動(dòng)時(shí)可以讀取文件,我們將修改root用戶(hù)密碼的SQL放在文件中,通過(guò)重啟來(lái)執(zhí)行修改密碼命令。

假設(shè)我想要將root密碼修改為’abc123’,先測(cè)試一下,密碼是不對(duì)的:

mysql -uroot -pabc123

1.1 停止mysql進(jìn)程

下面演示的是通過(guò)kill命令殺死m(xù)ysqld進(jìn)程,如果可以正常停止也可以。
首先通過(guò)ps -ef | grep mysqld 查詢(xún)mysql數(shù)據(jù)庫(kù)的進(jìn)程號(hào):

ps -ef | grep mysqld

這里顯示數(shù)據(jù)庫(kù)相關(guān)的進(jìn)程有2個(gè)(第3個(gè)是grep命令),由于我是通過(guò)mysqld_safe腳本啟動(dòng)的數(shù)據(jù)庫(kù),因此有一個(gè)額外的守護(hù)進(jìn)程:

進(jìn)程號(hào)為23619的mysqld_safe守護(hù)進(jìn)程,負(fù)責(zé)監(jiān)控mysqld的狀態(tài)
進(jìn)程號(hào)為24846的mysqld進(jìn)程,這個(gè)是數(shù)據(jù)庫(kù)服務(wù)進(jìn)程(它的父進(jìn)程號(hào)23619)

查詢(xún)到進(jìn)程號(hào)后,使用kill命令依次將mysqld_safe和mysqld殺死,注意要先殺mysqld_safe,如果先殺mysqld,那么守護(hù)進(jìn)程檢測(cè)到mysqld進(jìn)程掛了,會(huì)立刻將mysqld重新啟動(dòng):

kill -9 23619
kill -9 24846

如果只有一個(gè)mysqld進(jìn)程,那么只要將其殺掉即可。

1.2 創(chuàng)建初始化文件

創(chuàng)建一個(gè)文本文件,名稱(chēng)隨意(這里是reset_password.sql),里面寫(xiě)上更改root密碼的SQL:

alter user 'root'@'localhost' identified by 'abc123';

文件創(chuàng)建后給mysql用戶(hù)增加讀取權(quán)限(通常使用操作系統(tǒng)的mysql用戶(hù)來(lái)啟動(dòng)數(shù)據(jù)庫(kù)進(jìn)程)

chmod a+r reset_password.sql

1.3 使用init-file參數(shù)重啟數(shù)據(jù)庫(kù)

使用–init-file=/root/reset_password.sql 參數(shù)啟動(dòng)數(shù)據(jù)庫(kù),啟動(dòng)時(shí)會(huì)自動(dòng)執(zhí)行文件種的密碼修改SQL:

mysqld_safe --init-file=/root/reset_password.sql &
mysql -uroot -pabc123

可以看到啟動(dòng)后,root用戶(hù)的密碼已經(jīng)成功被修改為’abc123’,最后將reset_password.sql文件刪除即可。

二、使用–skip-grant-tables參數(shù)重設(shè)

MySQL的skip-grant-tables參數(shù)可以指定在啟動(dòng)時(shí)忽略權(quán)限認(rèn)證,這意味著任何用戶(hù)都可以不用密碼登陸數(shù)據(jù)庫(kù),并且具有所有權(quán)限,這是一個(gè)危險(xiǎn)的狀態(tài)。因此當(dāng)使用skip-grant-tables啟動(dòng)時(shí),MySQL會(huì)自動(dòng)啟用skip-networking參數(shù),禁止所有遠(yuǎn)程連接。

2.1 停止mysqld進(jìn)程

停止或殺掉mysqld進(jìn)程,參照上一節(jié)內(nèi)容。

2.2 使用skip-grant-tables重啟數(shù)據(jù)庫(kù)

使用skip-grant-tables參數(shù)啟動(dòng)數(shù)據(jù)庫(kù),并使用root用戶(hù)登陸:

mysqld_safe --skip-grant-tables &
mysql -uroot -p

這里提示了Enter password:,但實(shí)際是不需要輸入密碼的,直接回車(chē)便可登陸。

2.3 修改root密碼

加載權(quán)限表并修改root密碼,這里將密碼修改為abc456:

flush privileges;
alter user 'root'@'localhost' identified by 'abc456';

2.4 重啟數(shù)據(jù)庫(kù)

使用正常狀態(tài)重啟數(shù)據(jù)庫(kù)

mysqladmin shutdown
mysqld_safe &
mysql -uroot -pabc456

可以看到root用戶(hù)的密碼成功被修改為abc456

到此這篇關(guān)于MySQL root用戶(hù)密碼忘記的兩種情況及解決方案的文章就介紹到這了,更多相關(guān)MySQL root用戶(hù)密碼忘記內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

新绛县| 基隆市| 石阡县| 惠东县| 平山县| 茌平县| 麦盖提县| 长垣县| 西城区| 肇源县| 尉氏县| 水城县| 康定县| 鸡泽县| 北宁市| 镇康县| 噶尔县| 安多县| 永清县| 朝阳区| 呼图壁县| 财经| 宜兰县| 彰化县| 岐山县| 彭山县| 聂荣县| 文登市| 新乡县| 肇州县| 石家庄市| 同心县| 朝阳区| 潼关县| 钟山县| 阿坝县| 红原县| 长葛市| 通州市| 台中市| 江陵县|