Navicat for Mysql建立本地連接出現 1044或1045的問題並如何解決。


一、解決1045錯誤問題
在我安裝mysql的過程中,mysql已經安裝成功,可是在建立數據庫鏈接是報錯:Navicat for Mysql建立本地連接出現 1045 -Access denied for user'root'@'ipAddress'(using password :yes) 的問題

實質上1045錯誤最主要的原因就是服務器上的mysql沒有給本地授權。可以通過命令:grant all privileges on *.* to 'root'@'localhost' identified by '你的自己設置的密碼' with grant option; 進行授權

授權過程:用管理員身份運行cmd--輸入mysql--輸入上述命令

授權成功如下圖:

 

當你輸入命令是可能會出現:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'即1044錯誤問題,下面是解決1044問題的方法

二、解決1044錯誤問題
1044問題實質是因為你的mysql數據庫沒有設值密碼或者密碼不正確導致的。下面介紹兩種解決方法。

方法一:(適用於密碼不正確的)

0、思路:

    通過屏蔽mysql的登錄密碼,先進入mysql內部,再通過update命令更新密碼


1、關閉mysql

    service mysqld stop   //linux下使用   

    net stop mysql    //window下使用 

 

2、屏蔽權限
    mysqld_safe --skip-grant-table //linux下使用

    mysqld --skip-grant-table  //window下使用

    或者使用如下命令

    mysqld_safe --user=mysql --skip-grant-tables --skip-networking & //linux下使用

    屏幕出現: Starting demo from .....

 


3、新開起一個終端輸入
   # mysql -u root mysql
   mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
   mysql> FLUSH PRIVILEGES;   //更新命令   記得要這句話,否則如果關閉先前的終端,又會出現原來的錯誤
   mysql> \q

 

 

方法二:(適用於存在空密碼)

0、思路

  有時候,mysql雖然擁有了賬號和對應的密碼。但是,由於存在空密碼的情況,會默認登錄到空密碼中。

  需要把空密碼的賬號刪除,可以通過如下命令查看所有賬戶

  select host,user,password from user;


1.關閉mysql
   # service mysqld stop


2.屏蔽權限
   # mysqld_safe --skip-grant-table
   屏幕出現: Starting demo from .....


3.新開起一個終端輸入
   # mysql -u root mysql
   mysql> delete from user where USER='';  //刪除空密碼
   mysql> FLUSH PRIVILEGES;//記得要這句話,否則如果關閉先前的終端,又會出現原來的錯誤
   mysql> \q

1044問題解決參考文獻:https://blog.csdn.net/sea_snow/article/details/82498791

按照上面的命令一步一步的操作,相信你一定能解決問題!!!!
————————————————
版權聲明:本文為CSDN博主「不會技術的IT男」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_42668255/article/details/89961366


免責聲明!

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



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