MySQL8.0/8.x忘記密碼更改root密碼的實(shí)戰(zhàn)步驟(親測有效!)
一、原理說明
1,authentication_string這是Mysql8.0新做出的修改,在舊版本中使用的是password()函數(shù)。
2,在網(wǎng)上找到的“mysql忘記密碼”的解決方案中,大多會使用UPDATE user SET authentication_string="12345" WHERE user="root";來直接將密碼改成12345,實(shí)際上這是錯誤的用法,authentication_string中存儲的是密文,如果直接改為"12345"這樣的明文會導(dǎo)致密碼錯誤登錄不上。
原因是服務(wù)器在驗(yàn)證身份時(shí)會先將用戶輸入的明文轉(zhuǎn)為密文與數(shù)據(jù)庫中的密文作對比驗(yàn)證是否匹配,而直接在本應(yīng)放密文的地方放入明文顯然不會讓它們匹配成功。

3,在網(wǎng)上近似的搜索結(jié)果“mysql修改密碼”中,會使用alter user root@localhost identified by '12345'來修改密碼,這句命令在“跳過授權(quán)表”時(shí)是使用不了的,唯有正常模式下可以使用

4,才有了這樣的解決方法,先將authentication_string變?yōu)榭?,畢竟空值的明文密文都是空值,用空密碼進(jìn)入mysql正常模式后再使用alter將密碼改掉即可。

二、解決步驟
1,停止mysql服務(wù)
net stop mysql

2,輸入命令,進(jìn)入“跳過授權(quán)表”模式
mysqld --console --skip-grant-tables --shared-memory

3,上一個cmd窗口先放一旁,另開個管理員cmd窗口,輸入mysql進(jìn)入mysql服務(wù)

4,輸入use mysql進(jìn)入mysql數(shù)據(jù)庫,再將authentication_string改為空
USE mysql; UPDATE user SET authentication_string="" WHERE user="root";

5,刷新權(quán)限,退出
FLUSH privileges; exit;

6,第一個cmd窗口中,使用ctrl+c退出“跳過授權(quán)表”模式,啟動mysql服務(wù)
net start mysql

7,使用空密碼進(jìn)行登錄,然后使用alter語句更新密碼,刷新權(quán)限,退出
mysql -uroot -p
alter user root@localhost identified by '12345' FLUSH privileges; exit

8,嘗試使用密碼登錄,成功。

總結(jié)
到此這篇關(guān)于MySQL8.0/8.x忘記密碼更改root密碼的文章就介紹到這了,更多相關(guān)MySQL8.x忘記密碼更改root密碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql導(dǎo)出指定數(shù)據(jù)或部份數(shù)據(jù)的方法
mysql雖然可以使用mysqldump來進(jìn)行數(shù)據(jù)的到處,可是在很多場合的需求都不一樣,比如我只要導(dǎo)出某個字段呢?只要導(dǎo)出某些我需要的數(shù)據(jù)呢?2014-03-03
在JPA項(xiàng)目啟動時(shí)如何新增MySQL字段
這篇文章主要介紹了在JPA項(xiàng)目啟動時(shí)新增MySQL字段,本來用了JPA,直接實(shí)體類加參數(shù)就可以新增字段了,但是架不住垃圾項(xiàng)目在啟動項(xiàng)目時(shí)會加載數(shù)據(jù)庫SQL文件去插入數(shù)據(jù),需要一些操作幫助修復(fù),需要的朋友可以參考下2024-06-06
MySQL中查詢JSON字段的實(shí)現(xiàn)示例
MySQL自5.7版本起,對JSON數(shù)據(jù)類型提供了全面的支持,本文主要介紹了MySQL中查詢JSON字段的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-06-06
Mysql查詢?nèi)掌趖imestamp格式的數(shù)據(jù)實(shí)現(xiàn)
本文主要介紹了Mysql查詢?nèi)掌趖imestamp格式的數(shù)據(jù)實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01

