navicate連接Mysql5.7時,顯示Access denied for user 'root'@'localhost' (using password: YES) 錯誤


最近新裝了Mysql5.7,按如下設置好了允許遠程連接

   (1)找到mysql配置文件並修改

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
將bind-address=127.0.0.1注釋

  

(2)登錄mysql,運行命令
grant all privileges on *.* to 'root'@'%' identified by 'mysql' with grant option; # 所有的地址都可以使用root用戶,密碼為mysql遠程訪問所有的數據庫
flush privileges;

  

(3)檢查了下防火牆並沒有屏蔽端口號
(4)直接在navicate上連接mysql數據庫,報錯如下:


查了很多博客,未果,后面仔細分析應該是密碼的錯誤,因為自己用navicate連接數據庫使用的是user為root,host為localhost的密碼登陸的,如下可發現
host為localhost、%(任意ip,我們連接時使用的就是這個)的密碼不一樣(ps Mysql5.7版本以后password變為authentication_string)

(5)修改user為root,host為‘%’的密碼,改成跟host為localhost密碼一樣,這樣不容易忘記(若知道密碼時什么就不需要改)


查看密碼發現變成一樣了,如下圖

(6)在navicate登錄,--->成功

 

 


免責聲明!

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



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