解決MySQL登錄ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor)問題


問題描述

今天在MAC上安裝完MySQL后,MYSQL默認給分配了一個默認密碼,但當自己在終端上使用默認密碼登錄的時候,總會提示一個授權失敗的錯誤:Access denied for user ‘root’@’localhost’ (using passwor)如圖:

這里寫圖片描述

解決方案

既然現在沒法登錄到數據庫中,改密碼和添加用戶等操作也無從談起。好在MySQL中還提供了一種免去密碼校驗進入數據庫的方法,我們就先使用這種方法登入到數據庫中。然后將默認密碼替換掉,上面的問題就可以解決掉啦~具體操作如下

一、找到Mysql配置文件

這個操作,在不同平台下對應的不同的操作文件 
mac系統中配置文件是mysql安裝目錄support_file下的my-default文件 
這里寫圖片描述

需要注意的是:默認該配置文件不具備寫權限需要使用chmod命令先為該文件添加寫權限才能進行更改

ps:windows系統的配置文件是mysql安裝根目錄的my.ini文件

二、修改配置文件

打開剛才我們找到的配置文件,然后在里面找到 [mysqld] 這一項,然后在該配置項下添加 skip-grant-tables 這個配置,然后保存文件。 
這里寫圖片描述

三、重啟mysql服務

為了使上一步的配置項生效,我們需要重啟MySQL的服務 
Mac系統可以在系統偏好中進行重啟: 
這里寫圖片描述 
windows系統可以通過:在我的電腦上右鍵–>服務–>找到mysql服務進行重啟 
Linux系統可以使用:service mysqld restart來重啟

四、免密登錄MySQL

然后再次進入到終端當中,敲入 mysql -u root -p 命令然后回車,當需要輸入密碼時,直接按enter鍵,便可以不用密碼登錄到數據庫當中

五、修改默認的密碼

使用 set password for 'username'@'host' = password('newpassword') 命令修改新的密碼。

六、檢驗成果

我們改完默認密碼后,再次進入到之前的配置文件中,將我們跳過密碼的那個配置行給刪除掉,變為系統原先的配置。重啟MySQL服務,下次再登錄的時候便可以解決掉這個問題了。

快速方案

要是你覺得上面的操作過於麻煩,可以使用下面的快捷方式達到上面的效果,針對mac系統為例: 
首先進入到 /usr/local/mysql/support-file 這個目錄下,然后按照圖片上的步驟進行操作

這里寫圖片描述 
進入mysql的安全模式后,鍵入圖中圈起來的四行配置(必須逐行輸入),輸入完成后使用 contrl+z 鍵結束輸入 
然后再終端中使用 mysql -u root -p 同樣可以實現密碼登錄,另外此時密碼也已經修改為了 pass ,下次的登錄即可使用pass這個新密碼了。與上面的操作達成的效果是相同的。


免責聲明!

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



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