【真實有效】Window10系統下mysql-8.0.13-winx64的修改密碼
忘記密碼不可怕,不會修改才尷尬!
在一次小組開發項目中,我們採用的是Git控制版本管理,每次我pull下來的代碼,因爲我比較懶,所以就是直接覆蓋了,但是在數據庫連接的配置文件中,每臺機器的數據庫密碼不一定一樣,但是你從Git摘下來的東西,就是別人的數據庫密碼。
爲了統一,自我犧牲,將我的密碼修改爲他們的一致的密碼,結果...............你懂的,
=================================================================================
想必大家都是按照網上的一些方法修改的,當然有成功的,但是忽略了一點,mysql的版本不一樣,修改密碼的指令就可能存在小的差異啊!
我就是這樣改完直接崩了,登錄都登不進去,心態直接爆炸!!!
此處省略一萬字.......
直奔主題
1. 忘記密碼篇(注意:這是成功教學,真實有效)
(1)首先,請關閉MySql服務
我覺得你肯定有能力找到這個服務!!!,百度大法好
(2)
分析一下,我們沒密碼,怎麼登陸修改密碼啊?
mysql專門爲咱們這種大馬虎搞了一個機制,可以直接跳過驗證,就可以登錄。網上也有,但是在我這個8.0版本以上的mysql,失效。
你們搜到的是不是 =========在my.ini文件當中的mysqlId下添加skip-grant-table=========
老版本是有用的,但是最新的數據庫版本這個命令已失效,會發現命令窗口仍然跳出下一行待輸入指令。
不講廢話,就是上代碼
mysqld --console --skip-grant-tables --shared-memory
打開cmd,一直cd進入你的mysql的安裝目錄的bin目錄下,比如我的:
D:\program_tools\mysql\mysql-8.0.13-winx64\bin
請看我操作:
繼續....................
複製粘貼我剛纔說的核心代碼,直接執行。
結果看不懂沒關係,只要出現瞭如下圖的字眼,你就成功了.............................一小半。
continue
此處命令窗口別動!!!
另外開一個cmd,直接輸入mysql ,走你:
輸入指令
use mysql; //注意有分號哦
不一樣的地方來了......
===================不想看錯誤部分可以直接跳過==================
請再次注意我們的mysql是8.0及以上的版本,使用傳統的指令,如下圖(我給的是圖片,防止你們也執行,但是可以自己試一下看錯誤是不是一樣的)。
肯定會報錯,報錯如下:
瞧見沒,就是上面的錯,爲什麼會這樣,我查了一下。
mysql是8.0及以上的版本已經取消了password關鍵字,也就是說現在對於密碼的關鍵字不是password,所以修改密碼它識別不了這個password,自然就拋出語法錯誤。
所以呢?上新傢伙:
mysql_native_password //注意這不是命令,這是mysql8.0的一種密碼加密規則,具體我也不太懂,
//我後面懂了,我再回來補充。
=====================錯誤部分結束========================
回到正軌.......
輸入如下代碼:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼';
令人頭痛弄得是,有時會出現這種情況:
不過沒關係,一旦出現了這種情況,請執行如下語句:
flush privileges; //刷新一下權限表
這個語句是啥意思啊!
================================flush privileges; ==============================
該命令本質上的作用:是將當前user和privilige表中的用戶信息/權限設置從mysql庫(MySQL數據庫的內置庫)中提取到內存裏。MySQL用戶數據和權限有修改後,希望在”不重啓MySQL服務”的情況下直接生效,那麼就需要執行這個命令。通常是在修改ROOT帳號的設置後,怕重啓後無法再登錄進來,那麼直接flush之後就可以看權限設置是否生效。而不必冒太大風險。
再次粘貼剛纔的代碼(如若沒出現這種錯誤,請忽略本條)
執行及如果如下:
再刷新一次,即執行flush privileges;
到這裏密碼就修改完成了,後面就是測試一下登陸結果
2. 測試登陸
(1)關掉剛纔的所有cmd窗口(一定要關,不然服務起不來);
(2)幹啥都要記住,打開MySQL服務;
(3)最後就又是一頓操作,通過cmd進入mysql的安裝目錄的bin文件夾下,輸入如下指令:
mysql -uroot -p
具體操作按上圖一步一步來
(1)同樣進入mysql的安裝目錄的bin文件夾下;
(2)輸入mysql -uroot -p
(3)輸入剛剛修改的新密碼;
登錄結果出現: mysql >
表示登陸成功!!!
最後我表示,學會修改MySQL密碼的過程很痛苦,但是一步一步走起來,當你成功後,你會發現自己真的可以。
可能文章中有些地方有些錯誤,希望大家可以多多交流,指出不足之處。謝謝各位了!
老樣子,送各位一句話:
過程很痛苦。收穫很幸福。