Mysql重設root密碼遇到的坑(忘記密碼)

來源:互聯網
上載者:User

標籤:密碼重設   分享圖片   hand   where   影響   圖片   auth   跳過   windows   

1、原理

通過配置參數“skip_grant_tables”在mysql啟動時跳過grant_tables(授權表),從而通過命令來儲值root帳號的密碼

2、方式

首先需要停止mysql服務

(1)在my.ini檔案的[mysqld]塊下增加“skip_grant_tables”,然後重啟mysql服務,再以管理員權限開啟cmd執行一些列命令重設密碼

步驟如下:

A、找到my.ini檔案(右擊mysql服務找到可執行檔路徑,從所在的目錄或其它層級目錄搜尋),在[mysqld]塊下增加“skip_grant_tables”

B、重啟mysql服務

C、以管理員權限開啟cmd命令視窗,執行mysql -uroot –p直接斷行符號不用輸入密碼

D、選擇資料庫:use mysql

E、更新root的密碼:update user set authentication_string=password(‘新密碼‘) where user=‘root‘ and Host=‘localhost‘

F、重新整理許可權:flush privileges

G、退出:quit

H、重新登入:mysql -uroot -p提示輸入密碼,這時輸入密碼才能登入

I、回到 my.ini 設定檔移除“skip_grant_tables”,再重啟mysql

 

(2)直接通過命令指定參數“skip_grant_tables”啟動mysql,再執行命令修改密碼(與1的步驟除了指定跳過授權表參數的方式不同以外,其它都一樣)

A、在第一個cmd視窗執行 mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" --skip-grant-tables   ---注意路徑(以你的實際情況為準)

其它步驟同上

參考:

Windows下MySQL5.7 root 密碼重設

80024706

Windows下Mysql5.7忘記root密碼的解決方案

https://www.cnblogs.com/yuwentims/p/9172463.html

3、遇到的坑

同過修改my.ini的方式配置“skip_grant_tables”再儲存千萬要注意編碼的格式“ANSI”

(1)用Notepad++將修改了my.ini的配置

(2)重啟mysql服務,就啟動不了(逾時),通過命令去執行接下來的操作會報“ERROR 1045 (28000): Access denied for user ‘ODBC‘@‘localhost‘ (using password: NO)”的錯誤

(3)第一想到的是去百度,無果後從系統事件日誌開始著手,發現了一些莫名其它的錯誤(其實部分是系統裡其它程式的錯誤記錄檔):

A、首先根據關鍵字看到的是“服務 MySQL57 意外停止。這發生了 7 次。”並沒卵用

B、然後就在這個錯誤的隔壁找其它錯誤 “應用程式-特定 使用權限設定並未向在應用程式容器 不可用 SID (不可用)中啟動並執行地址 LocalHost (使用 LRPC) 中的使用者 NT AUTHORITY\LOCAL SERVICE SID (S-1-5-19)授予針對 CLSID ”像這種不明不白的錯誤頭腦一發熱並沒有多想,然後就是百度解決並沒有屁用

解決方式:

https://www.cnblogs.com/ibgo/p/3550674.html

http://www.ntxz.net/?p=580

解決了這個日誌,但是對mysql並沒影響,現在才明白找錯了方向

(4)於是將所有的事件記錄清除,重啟computer

(5)終於發現了一條這樣的錯誤 “mysql 啟動報錯--發現系統錯誤2,系統找不到指定的檔案”

解決方式:

63262641?locationNum=4&fps=1

解決了報錯,mysql服務可以啟動了

接著執行重設的命令,終於報了一條有意義的錯“Found option without preceding group in config file:XXX; Fatal error in defaults handling.“,找到了原來是my.ini編碼惹得禍!

 

改成ANSI,一切就順利了…

參考:

MySQL報錯: Found option without preceding group in config file:XXX; Fatal error in defaults handling.

56512606

Mysql重設root密碼遇到的坑(忘記密碼)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.