1.問題情況(Windows環境):
2.解決辦法:
将mysql的配置檔案my-default.ini修改為my.ini(),打開my.ini檔案在[mysqld]這個條目下加入
skip-grant-tables
儲存退出後重新開機mysql,并且重新安裝mysql. 如下所示:
這時候在cmd裡面輸入mysql -u root -p就可以不用密碼登入了,出現password:
的時候直接回車可以進入,不會出現ERROR 1045 (28000),但很多操作都會受限制。用下面的方法可以恢複正常:
1.進入mysql資料庫:
mysql> use mysql;
Database changed
2.給root使用者設定新密碼,藍色部分自己輸入:(這裡的password字段已經在5.7之中修改為了authentication_string)
mysql> update user set authentication_string=password("新密碼") where user="root";
Query OK, 1 rows affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
3.重新整理資料庫
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
4.退出mysql:
mysql> quit
Bye
之後,再修改一下my.ini這個檔案,删除剛加入的"skip-grant-tables",儲存退出再重新開機mysql,OK。
解決參考:http://blog.sina.com.cn/s/blog_759a5a7c01017dj0.html