1. 首先找到mysql的安裝目錄, 找到.ini 配置文件,在其中在[mysqld]這個條目下加入 skip-grant-tables 保存退出后重啟mysql。 重啟服務可以在window的系統管理 中重新啟動mysql服務進程實現。或者:
點擊“開始”->“運行”(快捷鍵Win+R)。
2.啟動:輸入 net stop mysql
3.停止:輸入 net start mysql
2. 然后就可以不輸入密碼進行登錄了。這時候在cmd里面輸入mysql -u root -p就可以不用密碼登錄了,出現password:的時候直接回車可以進入,不會出現ERROR 1045 (28000),但很多操作都會受限制,因為我們不能grant(沒有權限)。按下面的流程走(紅色部分為輸入部分,粉紅色的是執行后顯示的代碼不用輸入):
3. 進入mysql數據庫:
mysql> use mysql;
4. 2.給root用戶設置新密碼,藍色部分自己輸入:
mysql> update user set password=password("新密碼") where user="root";
Query OK, 1 rows affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
如果報錯則:
執行后報錯 ERROR 1054(42S22) Unknown column 'password' in ‘field list’
錯誤的原因是 5.7版本下的mysql數據庫下已經沒有password這個字段了,password字段改成了authentication_string
update user set authentication_string=password("新密碼") where user="root"
5.
3.刷新數據庫
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
4.退出mysql:
mysql> quit
Bye
改好之后,再修改一下my.ini這個文件,把我們剛才加入的"skip-grant-tables"這行刪除,保存退出再重啟mysql就可以了。