關於mysql忘記密碼的解決策略
-
關閉mysql服務
命令列輸入
net stop mysql
或者開啟計算機管理(此電腦->管理 可進入)找到自己的mysql
直接點選停止
-
繞過密碼登入
開啟命令列(win+R ->cmd)(管理員/非管理員狀態下皆可)輸入
mysqld --initialize
mysqld --console --skip-grant-tables --shared-memory
此時執行持續不終止,保持此視窗不關閉,另開一個命令列視窗(以管理員身份開啟),輸入
mysql -u root -p
此時會提示輸入密碼,這個密碼填什麼都行,進入mysql,輸入
use mysql
select user,authentication_string,host from User;
上面一行是檢視操作,可以沒有
alter user 'root'@'localhost' identified by '123456';
上面一行是更改密碼操作,root為使用者名稱對應user,localhost對應host,後方是自己更改的密碼
flush privileges;
設定生效
quit;
退出
關閉這兩個命令列視窗後重新啟動mysql,輸入更改後密碼,成功
-
其他問題
其他解決辦法:重灌
指路-> 安裝教程
其他問題:為什麼修改後檢視命令
select user,authentication_string,host from User;
更改使用者名稱的密碼是亂碼?
原因:自己設定的密碼在檢視時有加密過程
可以透過
select user,plugin from user where user='root';
檢視密碼的加密方式
所以這就是為什麼有些教程使用
update user set authentication_string='123456' where User='root';
不成功的原因,因為沒有加密過程,實際密碼非設定密碼