問題重制(以下讨論範圍僅限Windows環境):
C:\AppServ\MySQL> mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user
'root'@'localhost'(using password: YES)
編輯mysql配置檔案my.ini(不知道在哪請搜尋),在[mysqld]這個條目下加入
skip-grant-tables
儲存退出後重新開機mysql
1.點選“開始”->“運作”(快捷鍵Win+R)。
2.啟動:輸入 net stop mysql
3.停止:輸入 net start mysql
這時候在cmd裡面輸入mysql -u root -p就可以不用密碼登入了,出現password:的時候直接回車可以進入,不會出現ERROR 1045 (28000),但很多操作都會受限制,因為我們不能grant(沒有權限)。按下面的流程走(紅色部分為輸入部分,粉紅色的是執行後顯示的代碼不用輸入):
1.進入mysql資料庫:
mysql> use mysql;
Database changed
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
3.重新整理資料庫
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
4.退出mysql:
mysql> quit
Bye
改好之後,再修改一下my.ini這個檔案,把我們剛才加入的"skip-grant-tables"這行删除,儲存退出再重新開機mysql就可以了。