最近在Linux上安裝了Mysql,然后在Windows環境下通過Navicat來連接時,出現報錯:1045 Access denied for user 'root'@'XXX' (using password: YES),如下:

首先,在Linux中是可以正常登錄mysql,所以不會是用戶密碼錯誤導致的,
接著,我考慮到可能與防火墻有關,于是檢查了Linux下的防火墻是否開放了對應埠,發現此時的防火墻是關閉狀態,因此可以排除防火墻的影響,
最后,突然想到默認情況下mysql的root用戶是不能遠程連接的,于是在Linux中登錄mysql,發現果然是這個原因,解決程序如下:
- 1.登錄mysql,命令:
mysql -u root -p,然后輸入密碼即可,

- 2.查看mysql庫中的user表的host欄位
使用mysql庫:use mysql
查詢資訊:select user,host from user

host欄位中,localhost表示只允許本機訪問,要實作遠程連接,可以將root用戶的host改為%,%表示允許任意host訪問,如果需要設定只允許特定ip訪問,則應改為對應的ip,
- 3.修改root用戶的host欄位,命令:
update user set host="%" where user="root" - 4.使本次修改立即生效,命令:
flush privileges

最后,在windows下的Navicat中遠程連接,便不會報錯了,


本文由博客一文多發平臺 OpenWrite 發布!
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/251932.html
標籤:其他
上一篇:linux 時間命令
下一篇:linux命令下載檔案到本地
