-
打開mysql.exe和mysqld.exe所在的文件夾,復制路徑地址
-
打開cmd命令提示符,進入上一步mysql.exe所在的文件夾。
-
輸入命令 mysqld --skip-grant-tables 回車,此時就跳過了mysql的用戶驗證。注意輸入此命令之后命令行就無法操作了,此時可以再打開一個新的命令行。注意:在輸入此命令之前先在任務管理器中結束mysqld.exe進程,確保mysql服務器端已結束運行。
-
然后直接輸入mysql,不需要帶任何登錄參數直接回車就可以登陸上數據庫。
-
輸入show databases; 可以看到所有數據庫說明成功登陸。
-
其中mysql庫就是保存用戶名的地方。輸入 use mysql; 選擇mysql數據庫。
-
show tables查看所有表,會發現有個user表,這里存放的就是用戶名,密碼,權限等等賬戶信息。
-
輸入select user,host,password from user; 來查看賬戶信息。
-
更改root密碼,輸入update user set password=password('123456') where user='root' and host='localhost';
-
再次查看賬戶信息,select user,host,password from user; 可以看到密碼已被修改。
-
退出命令行,重啟mysql數據庫,用新密碼嘗試登錄。
-
測試不帶密碼登錄mysql,發現還是能夠登陸上,但顯示數據庫時只能看到兩個數據庫了,說明重啟之后跳過密碼驗證已經被取消了。
-
我這地方重啟數據庫之后之所以不帶密碼任然能夠登錄是因為我的數據庫里存在設無須口令的賬戶。
END