ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES)

前兩天也偶爾出現這個錯誤,也沒在意,因爲我重新修改一下mysql的root密碼後又可以用了,但昨天卻不行,我把root密碼修改以後雖然當時能用, 一旦重新進入就都不能用了,可我的密碼明明沒有錯啊?今天終於找到了原因,是權限問題,大家可以參考着下面兩篇文章去看一下: 
http://topic.csdn.net/t/20060117/15/4521496.html# 
http://doc.99net.net/doc/database/1076488199/1076549732.html 
由於以前從來沒有遇到過這種情況,故把解決方法記錄於此,以便今後自己查閱,具體方法就是你在改root密碼的時候再加上一句給權限的語句: 

grant all on mysql.* to 'root'@'localhost' identified by 'password'; 

最後那個password即是你要修改的root用戶的密碼 

剛開始用mysql就給我來了個下馬威,前些天完整完數據庫後安裝手冊修改了一下root用戶的密碼,然後用root用戶再登陸是一切OK。可是今天再登陸時就報1045錯誤代碼。 
錯誤代碼  1045 

Access denied for user 'root'@'localhost' (using password:YES) 

我的解決辦法是重新設置root用戶密碼,在Windows平臺下操作步驟如下: 

1、以系統管理員身份登錄到系統; 

2、如果MySQL服務器正在運行,停止它。 

如果是作爲Windows服務運行的服務器,進入服務管理器:開始菜單->控制面板->管理工具->服務 

如果服務器不是作爲服務而運行的,可能需要使用任務管理器來強制停止它。 

3、創建1個文本文件,並將下述命令置於單一行中: 

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword'); 

用任意名稱保存該文件。在本例中,該文件爲C:\mysql-init.txt。 

4、進入DOS命令提示:開始菜單->運行-> cmd 

假定你已將MySQL安裝到C:\mysql。如果你將MySQL安裝到了另一位置,請對下述命令進行相應的調整。 

在DOS命令提示符下,執行命令: 

C:\mysql\bin\>mysqld-nt --init-file=C:\mysql-init.txt 

在服務器啓動時,執行由“--init-file”選項(作用:在啓動時從指定的文件中讀取SQL命令)命名的文件的內容,更改根用戶密碼。當服務器成功啓動後,應刪除C:\mysql-init.txt。 

5、如果起動MySQL服務器出錯,把進程mysqld-nt.exe關閉。然後重啓它,OK。 

6、或者停止MySQL服務器,然後在正常模式下重啓它。如果以服務方式運行服務器,應從Windows服務窗口啓動它。如果以手動方式啓動了服務器,能夠像正常情形下一樣使用命令。 

應能使用新密碼進行連接。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章