mysql ERROR 1045 (28000): Access denied for user解決
問題重現(xiàn)(以下討論范圍僅限Windows環(huán)境):
C:AppServMySQL> 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就可以不用密碼登錄了,出現(xiàn)password:的時候直接回車可以進入,不會出現(xiàn)ERROR 1045 (28000),但很多操作都會受限制,因為我們不能grant(沒有權(quán)限)。按下面的流程走(紅色部分為輸入部分,粉紅色的是執(zhí)行后顯示的代碼不用輸入):
1.進入mysql數(shù)據(jù)庫:
mysql> use mysql;
Database changed
2.給root用戶設(shè)置新密碼,藍色部分自己輸入:
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.刷新數(shù)據(jù)庫
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
4.退出mysql:
mysql> quit
Bye
改好之后,再修改一下my.ini這個文件,把我們剛才加入的"skip-grant-tables"這行刪除,保存退出再重啟mysql就可以了。
-------------------2015-12-21-------------------
今天發(fā)現(xiàn)了個新方法,簡單暴力...
首先找到my.ini 或my.cnf文件
?
1
2[mysqld]
skip-name-resolve
在[mysqld]下添加?skip-name-resolve
重啟Mysql服務即可