mysql ERROR 1045 (28000): 錯誤解決辦法


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

基於windows,遇到則記下了,給出解決方法:如下

1:找到配置文件my.ini,之前一直用的是mysql5.5,my.ini就是在MySQL Server5.5下,如圖:

現在我的mysql版本是5.7,則需要在安裝磁盤上勾選隱藏的項目:如圖:

進入ProgramData中-->MySQL-->MySQL Server 5.7,如圖顯示的my文件:(需要注意的是備份下配置文件,防止修改錯誤無法還原)

然后打開my,找到[mysqld],在[mysqld]下輸入“skip-grant-tables”,如圖:

然后保存關閉。

2:win+R輸入“services.msc”進入服務

找到mysql的服務,我的名字是默認“MySQL57”,然后重啟改服務:

3:重啟完成之后運行cmd,輸入mysql -uroot -p回車就行,提示你輸入密碼直接回車就能進入:如圖(直接輸入需要配置好path路徑,如果重啟失敗,記得之前備份的my文件)

4:這時候進入到“mysql”這個庫;如圖:

5:給root用戶設置新密碼:如圖:(新版本的語句是update user set authentication_string=password("123456") where user="root";  老版本的是update user set password=password("123456") where user="root";  新版本把password變成了authentication_string,如果在新版本中使用后面的sql則報 Unknown column 'password' in 'field list' 錯,千萬注意,密碼用戶隨意,能記住就行):

6:刷新數據庫,命令:flush privileges;

7:退出mysql,不建議直接退出,使用exit命令即可

8:一切完事之后,再修改之前的my文件,把剛才我們加入的“skip-grant-tables”刪除,保存退出后再重啟mysql服務即可,再次登錄輸入密碼就沒有問題了:

至此,解決了問題,其實也可以不用修改配置文件,可以在登錄的時候直接跳過密碼登錄的,效果是一樣的,在這就不贅述了,有什么不對的歡迎指正

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM