一次MySql重置root密碼無效的實戰(zhàn)記錄
前言
說起這個事情吧也相對來說比較尷尬,對于一個技術(shù)來說忘記密碼然后找回密碼都是相當簡單的一個事情,但是在生產(chǎn)環(huán)境中沒有保存記錄只能是自己的失職,尷尬就尷尬在明明重置成功了卻沒有生效,弄得好幾個工程師在哪里撓頭!??!也是經(jīng)過不斷得摸索測試方案最后也是解決了這個問題,下面就簡單跟大家分享一下:
項目場景:
這個場景比較簡單,因為我們是測試環(huán)境嘛,所以也就只有一臺MySql數(shù)據(jù)庫,只需要對這個數(shù)據(jù)庫進行密碼修改就可以了,而且也不用擔心搞壞得問題,再一個最最最最重要得就是它可以隨時進行重啟,不需要考慮業(yè)務情況,當然在生產(chǎn)環(huán)境大家一定要考慮時間空檔期,不然數(shù)據(jù)丟失就很麻煩了,而且操作的又是數(shù)據(jù)庫,就相當于在腦袋上開刀一樣,廢話不多說了下面是環(huán)境情況:
操作系統(tǒng):windows server 2019 數(shù)據(jù)中心版本
MySql:經(jīng)典安裝 MySql 5.6

問題描述
問題就是:使用--skip-grant-tables跳過權(quán)限,然后使用update修改root密碼后,使用 FLUSH PRIVILEGES;刷新,使用新密碼連接mysql提示密碼錯誤,無非登錄

下面是我重置密碼的過程,大家也可以參考下,看看是不是有忽略的地方
1.停止mysql服務

2.使用--skip-grant-tables跳過權(quán)限啟動

3.登錄并修改密碼


4.關(guān)閉mysql進程及命令行窗口,重新啟動mysql服務,嘗試登陸

嘗試登陸

明明密碼修改成功了,密碼也輸入成功了,結(jié)果卻在登陸的時候無發(fā)登陸成功
原因分析:
經(jīng)我們幾個人的不斷測試,不斷嘗試,最終發(fā)現(xiàn)由于--skip-grant-tables這個參數(shù)造成的,其實說白了這個就是啟動時生效了但是沒有指定mysql的配置文件,所以這個模式下的所有操作都是無效的,設置成功了也不會修改真正的數(shù)據(jù)庫文件的,也就是你把這個進程關(guān)掉了,他自己也就把數(shù)據(jù)還原回之前的了,這個跟mysql的安裝方式也有關(guān)的,采用mysql免安裝版本用以上操作就可以生效,但是按照版本就無法生效的,我已經(jīng)嘗試多個版本都是這樣。
也可能不是這個原因,有異議的小伙伴歡迎大家留言一起探討哦
下面是需要修改的跳過權(quán)限啟動的命令
mysqld.exe --defaults-file="my.ini路徑" --skip-grant-tables
解決方案:
1.正常關(guān)閉mysql服務

2.設置跳過權(quán)限啟動mysql
(這里是和之前操作不一樣的地方)
mysqld.exe --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" --skip-grant-tables
--defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" //這個直接在服務中找到mysql服務,右鍵屬性就可以看到這個路徑了

前面是mysqld的啟動程序位置,后面是指定mysql的配置文件也就是my.ini文件

啟動成功
3. 修改密碼
開啟新命令行窗口,連接mysql

連接成功
修改密碼

修改成功,退出登陸,重啟mysql服務

4. 嘗試登陸
啟動成功,嘗試使用新密碼進行登陸

發(fā)現(xiàn)已經(jīng)連接成功
總結(jié)
到此這篇關(guān)于一次MySql重置root密碼無效的文章就介紹到這了,更多相關(guān)MySql重置root密碼無效內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql優(yōu)化連接數(shù)防止訪問量過高的方法
這篇文章主要介紹了mysql優(yōu)化連接數(shù)防止訪問量過高的方法,需要的朋友可以參考下2014-06-06
MySQL?Flink實時流處理的核心技術(shù)之窗口機制
Flink是一款流處理框架,窗口機制是其核心技術(shù)之一。Flink的窗口機制可以將無限的數(shù)據(jù)流劃分為有限的窗口,并對窗口內(nèi)的數(shù)據(jù)進行處理。Flink的窗口機制支持時間、計數(shù)、會話等多種窗口類型,并且可以在不同的窗口之間進行流轉(zhuǎn)換和數(shù)據(jù)聚合,是實時流處理中非常重要的技術(shù)2023-05-05
mysql中g(shù)eneral_log日志的實現(xiàn)
MySQL的general_log是一個非常有用的工具,它可以記錄所有的SQL語句,包括查詢、DML、DDL、DCL語句,以及連接和斷開數(shù)據(jù)庫的語句,下面就來具體介紹一下,感興趣的可以了解一下2024-11-11
MySQL之dense_rank()分組排序函數(shù)的使用
DENSE_RANK()是一種窗口函數(shù),用于在數(shù)據(jù)庫中計算密集等級,本文就來介紹一下MySQL之dense_rank()分組排序函數(shù)的使用,感興趣的可以了解一下2024-11-11

