連接數據庫報錯Access denied for user 'root'@'localhost' (using password:YES)


    報錯信息為:pymysql.err.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: YES)")

    錯誤原因一 :是 root帳戶默認不開放遠程訪問權限,所以需要修改一下相關權限

  錯誤原因二:mysql服務沒有啟動  手動啟動mysql即可(這種錯誤,一般出現在django項目中)

  錯誤原因三:django項目settings.py文件中配置mysql數據庫時,密碼寫錯(配置正確的密碼即可解決該問題)

 

 

錯誤原因一的解決方法:

    1.打開MySQL目錄下的my-default.ini文件,在文件的最后添加一行“skip-grant-tables”,保存並關閉文件。(WIN7默認安裝,my.ini在C:\ProgramData\MySQL\MySQL Server 5.6)
    2.重啟MySQL服務。(一定要重啟一次)
    3.通過命令行進入MySQL的BIN目錄,輸入“mysql -u root -p”(不輸入密碼),回車即可進入數據庫。(WIN7默認安裝,BIN目錄為:C:\Program Files\MySQL\MySQL Server 5.6\bin)
    4.執行“use mysql;”,使用mysql數據庫。
    5.執行“update user set authentication_string=password("123456") where user="root";(修改root的密碼)(查看表結構可知,show columns from user,在mysql5.7后,password字段被改成了authentication_string)

     6. 打開MySQL目錄下的my.ini文件,刪除最后一行的“skip-grant-tables”,保存並關閉文件。

     7. 重啟MySQL服務。
     8. 在命令行中輸入“mysql -u root -p ”,輸入密碼:"123456"成功登錄數據庫。
      

 

錯誤原因二的解決方法:

  如果是在django項目中,重啟mysql還是報這樣的錯,

  檢查一下設置是否正確,如果你設置了多個數據庫,程序默認使用的是      default屬性綁定的數據庫,

      

 

 

 


免責聲明!

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



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