Linux下設置mysql允許遠程連接


最近在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 ,然后輸入密碼即可。

登錄mysql

  • 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中遠程連接,便不會報錯了。

連接成功


免責聲明!

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



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