1.以管理員身份運行命令行,輸入命令:net stop mysql,以停止MySQL服務
2.設置跳過驗證,進入到mysql安裝目錄下的bin路徑,在mysql/bin/目錄下輸入命令:“mysqld --shared-memory --skip-grant-tables”,(注意:一定要有–shared-memory,否則無法正常設置–skip-grant-tables並啟動mysql服務),正常情況下,輸完這條命令,該命令行窗口應該卡住不動。
3.無密碼登錄:新開一個CMD窗口,進入到mysql安裝目錄下的bin路徑,無需重復啟動mysql服務,在mysql/bin/目錄下輸入"mysql",此時應該可以連接成功,作者嘗試的時候大多是卡在了這里,原因參照第二步。
4.重置root密碼為空(注意:這里需先置為空密碼,否則無法登陸):在第三步的cmd窗口中輸入命令:update mysql.user set authentication_string='' where User = 'root'; 。
5.退出所有命令行,重新打開CMD輸入mysql -uroot -p=》回車鍵=》無需輸入密碼按回車鍵,(若顯示服務未啟動,需先啟動MySQL服務,輸入net start mysql)使用如下命令重新修改root密碼:alter user 'root'@'localhost' identified by '123';。
如登錄時出現:ERROR 1045 (28000):Access denied for user 'root'@'localhost' (using password: YES)的問題,再執行4,5步驟
原文:https://blog.csdn.net/hunt_er/article/details/88030811