方法描述:該方法是通過跳過權限安全檢查,開啟mysql服務,從而修改root的密碼,來創建一個新的root密碼,以供退出后重新登錄mysql。
1. 首先檢查mysql服務是否啟動
若已啟動則先將mysql服務停止,可在開始菜單使用以下命令來停掉服務。
net stop mysql57
我由於mysql57服務已經先停掉了,所以這里顯示沒有啟動MySQL服務。
2. 先打開一個cmd窗口,切換到mysql的bin目錄(這是我的bin目錄)
cd "C:\Program Files\MySQL\MySQL Server 5.7\bin"
運行命令:(my.ini配置文件默認和安裝目錄不在一起,大多數采用默認安裝mysql的話大致是在下述路徑)
mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" --skip-grant-tables
該命令通過跳過權限安全檢查,開啟mysql服務,這樣連接mysql時,可以不用輸入用戶密碼。
3. 重新打開一個cmd窗口,連接mysql:
輸入命令:(如果配置了環境變量可以一打開cmd就輸入如下命令,如果沒配置的話,請先切換到mysql的bin目錄)
mysql -u root -p
出現:
Enter password:
在這里直接回車,不用輸入密碼。然后就會出現登錄成功的信息,
4.修改mysql的root密碼
(1)使用命令:
show databases;
顯示/查看所有數據庫。
(2)使用命令切換到mysql數據庫:
use mysql;
(3)使用命令更改root密碼:('新密碼' 的位置是要輸入你想要設置的密碼)
update user set password=password("新密碼") where user="root'; 5.7之前版本用這個命令 update mysql.user set authentication_string=password('新密碼') where user='root'; 這是5.7版本的命令
(4)刷新權限:
FLUSH PRIVILEGES;
(5)退出。
quit;
至此,忘記的root的密碼已經修改好,以后登錄的操作和之前常規登錄的操作是一樣的。重新登錄后你就又可以正常使用mysql 5.7了。
5.測試密碼修改是否成功。
(1)重新登錄:
mysql -u root -p
(2)出現輸入密碼提示,輸入新的密碼,回車,即可登錄:
Enter password:********
顯示登錄成功信息。 就一切ok了。
總結:本文參考了https://blog.csdn.net/Coder_Jeremy/article/details/73928028 ,但記錄了本人mysql 5.7的root密碼修改方法親測過程中遇到的一些容易踩的坑,希望對大家有幫助。由於版本不同的關系,原鏈接中的一些命令需要根據實際情況做一些修改,本文已經更新了這些地方。
————————————————————————————————
參考鏈接:https://blog.csdn.net/Coder_Jeremy/article/details/73928028