国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

MySQL8.0.23版本的root密碼重置最優(yōu)解法

瀏覽:109日期:2023-10-05 11:57:47

該方法編輯于2021年2月7日,自己使用的版本是8.0.23,事情的起因要從袁隆平教授說起…要從一本教科書說起,有一章節(jié)是“MySQL安全管理與權(quán)限管理”,其中有提到更改root賬戶

ps:此方法適用于任何忘記,胡亂修改或已經(jīng)糟蹋root密碼的同學

本著實踐主義的精神,我在自己的MySQL數(shù)據(jù)庫中(當前登陸為root賬戶)中敲下了:

update user set authentication_string=MD5('123') where user = 'root' and host = 'localhost';flush privileges;

在這里不得不說一下現(xiàn)在的百度google教程,同學可以先自己看一下自己的user表結(jié)構(gòu),在user表中一般而言,我們最關注三個字段,分別是localhost的host列,用戶名root的user列,以及保存密碼的authentication_string列

desc user;

注意:保存密碼的字段已經(jīng)不是password了(舊版本可能是,而且很多改root密碼教程也是還停留在password),其次我這個較新的版本已經(jīng)在這里不適用password函數(shù),教材使用的是MD5加密,目前仍然很多百度的都是下面這種,這個方法已經(jīng)完全不適用了

...password = password('123')...

當我敲下上面的代碼之后,重新退出重啟服務器并嘗試使用新密碼123登陸的時候,吧唧…密碼錯誤報錯

ERROR 1045 (28000): Access denied for user ’root’@’localhost’ (using password: YES)

之后就是連續(xù)三個小時的百度攻略,找回密碼操作…接連的失敗告終…24小時之后,誤打誤撞的刪除了原authentication_string保存的密碼,然后重新設置新的密碼,下面上干貨,親測~

1.免密登錄

將mysql登陸設置為免密登陸(這一步我暫時不知道可不可以使用debian.cnf配置中的debian-sys-maint賬戶登陸進行修改root的密碼,我怕debian權(quán)限不夠無法改動root所以還是選擇了root免密登陸,有興(wu)趣(liao)的同學可以嘗試下,這一步主要是為了能進入服務器),具體方法為:進入配置文件,我的配置文件在

/etc/mysql/mysql.conf.d

使用sudo打開,因為必須要su權(quán)限才能更改etc的配置,當然因為我沒有在家目錄下自定義配置,所以都是默認的,這個配置很有可能每個人位置不一樣,而且你們也是很可能自己配置了,那么可以用在終端上用mysql --help查看此時哪個配置在發(fā)揮作用,當然也不是一下子能找到的,比如我目前配置文件在第二個/etc/mysql/my.cnf中,但是打開來沒有配置的選項,里面是兩個路徑,這個路徑才是真正的配置文件,就好比是一個“嵌套”

MySQL8.0.23版本的root密碼重置最優(yōu)解法

sudo vim mysqld.cnf

打開之后在第15行左右的位置[mysqld]的下面插入一行

MySQL8.0.23版本的root密碼重置最優(yōu)解法

之后保存退出vim即可

2.清空authentication_string密碼

其實這一步是我誤打誤撞進去的,也是被網(wǎng)上各種復制的教程帶跑偏了,今天晚上在研究user表時,看到plugin字段默認是caching_sha2_password,所以我想到有可能之前不應該用md5加密,而應該用sha2,所以:注意:這是關鍵步驟

update user set authentication_string=sha2('1234',32) where user = ’root’;flush privileges;

然后再看user表中root的數(shù)據(jù),發(fā)現(xiàn)authentication_string的值居然變?yōu)閚ull了,此時我有預感我可能可以真正的免密登陸了回到配置文件(注意使用sudo),把上面的在配置中加的那一行代碼

skip-grant-tables

給刪了,然后重啟MySQL服務器,然后登陸

mysql -u root

果然真的能登陸了,真正的免密登陸,因為此時root賬戶的密碼已經(jīng)被清掉了,但是為啥用sha2摘要算法不是算出一個密碼而是清掉一個密碼我就不懂了,肯定有大佬知道…

3.重新設置密碼

重新設置密碼就簡單了,一行代碼搞定:

ALTER USER ’root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ’123’;

ps:MySQL在第一次安裝之后,也是沒有密碼的,第一次登陸服務器時可能需要sudo mysql -uroot登陸,登陸之后自己再設置mysql的root密碼,設置方法和上述代碼一模一樣

4.結(jié)束

之后就可以用新密碼重新登陸MySQL啦

mysql -u root -p1235.最后 本次也是誤打誤撞然后清空了root密碼,具體的原理并不清晰,比如為啥使用sha2卻把root密碼authentication_string字段變?yōu)镹ULL了,如果你的plugin是md5,有可能就是用MD5才是正確的,如果是sha1,就用sha1嘗試,沒有看官方文檔,所以整個過程很痛苦,因此,嚴格上來說,這是一個提問帖,坐等大佬,感謝 很多地方可能沒有講詳細,比如數(shù)據(jù)庫重啟,配置文件,如何找debian-sys-maint賬戶,vim編輯等,有問題歡迎提問,常在csdn,隨時在的。 系統(tǒng)為Ubuntu,Mac方法應該一樣,主要Mac的MySQL配置文件已經(jīng)被優(yōu)化了,一定是需要自己做一個my.cnf的,一般同學應該都放在家目錄下,所以文件位置肯定和我不一樣 可能同學還是舊版本,比如5.x的,網(wǎng)上的方法可能也還是適用的,那么這個方法就肯定不適用了(因為user表中密碼字段都不一樣了),所以版本注意一下

到此這篇關于MySQL8.0.23版本的root密碼重置最優(yōu)解法 的文章就介紹到這了,更多相關MySQL8.0.23 root密碼重置內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!

相關文章:
主站蜘蛛池模板: 国产初高中生粉嫩无套第一次 | 亚洲欧美日韩在线一区二区三区 | 91精品欧美一区二区三区 | 欧美一区二区三区免费不卡 | 国产成人黄网址在线视频 | 97在线视频免费观看费观看 | 欧美日韩免费一区二区在线观看 | 国产高清在线看 | 久久精品在线免费观看 | 国产精品三级一区二区 | 亚洲手机视频 | 特级片在线观看 | 亚洲人成一区二区三区 | 亚洲成人高清在线观看 | 久久精品夜色国产 | 亚洲毛片免费视频 | 国产一区二区三区高清视频 | 欧美一级视频在线观看欧美 | 成人免费xxx色视频 成人免费大片a毛片 | 亚洲欧美成人在线 | 亚洲成a人片在线观看中文!!! | 欧美xxxxx色视频在线观看 | 一级色网站| 欧美一区二区在线观看免费网站 | 一区二区三区视频免费观看 | 精品国产免费观看 | www.99在线| 免费观看一级欧美在线视频 | 一区精品视频 | 99久久久国产精品免费播放器 | baoyu121永久免费网站 | 久草在线视频免费 | 国产一区二区三区精品久久呦 | 日韩美女免费线视频 | 手机亚洲第1页 | 亚洲专区在线 | 亚洲精品久久9热 | 国产精品99久久99久久久看片 | 日韩在线一区二区三区 | 一区二区三区影视 | 亚洲gogo人体大胆西西安徽 |