1. 程式人生 > 實用技巧 >Linux下設定mysql允許遠端連線

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
    ,然後輸入密碼即可。

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