Linux下mysql實現遠程鏈接

首先明白一點並非mysql禁止遠程鏈接,而是MYSQL的帳號禁止遠程鏈接。可能以爲我有點咬文嚼字了,不過我感受分清這點仍是很重要的。默認狀況下,全部帳號都是禁止遠程鏈接的。在安裝MYSQL的時候,在設置ROOT密碼那裏有一個CHECKBOX,選中的話就開啓了ROOT的遠程登錄功能,默認是沒被選中的。mysql

    利用:sql

       select * frommysql.usershell

  查出全部的MYSQL用戶,能夠發現默認狀況下,這些記錄的host字段的值全都是localhost,這個host字段就是表示哪些機器能夠利用此帳號鏈接到本機的MYSQL。localhost固然就表明本機了。因此默認狀況下別的機器沒法鏈接。數據庫

因此要想開啓一個帳號的遠程鏈接,只要將這個帳號所對應的host字段改爲那個IP就行。
    好比:服務器

       update user set host = '192.168.230.2' whereuser='ninty';網絡

    執行完此命令之後還要執行:
       flush privileges;this

來刷新全部數據庫用戶的權限配置信息讓設置及時生效。或者重啓MYSQL。server

  將ninty這個帳號的host改爲192.168.230.2,這樣192.168.230.2這臺機器就容許經過ninty這個帳號來鏈接到本機的MYSQL;不過用別的帳號仍然是不行的。將ninty的host改爲192.168.230.2,就只有192.168.230.2這臺機器能夠經過ninty這個帳號來鏈接到本機的MYSQL,其它的機器(包括本機)都沒法進行鏈接。配置

   若是想將一個帳號設置成任何IP均可以登錄,將host改爲 % 就行;若是隻能192.168.230這個網段的IP能夠登錄,那就將host改爲:192.168.230.%date

一些常見的錯誤信息:

ERROR 1130 (00000):Host 'AAAAA-8HK8AISO' is not allowed to connect to this MySQL server
AAAAA-8HK8AISO應該是本機的機器名,當MYSQL服務器禁止本機使用相應的帳號鏈接的時候,就會暴這個錯誤。這時換一個容許本機去連的帳號就能夠啦。

 

ERROR 1045(28000): Access denied for user 'joejoe1991'@'TQSOFT-8HK8AISO' (using password:YES)
這個錯誤通常就是用戶名或者密碼錯誤,這時應該是容許本機鏈接的, 不然報的應該是上面那個錯。

 

ERROR 2003 (HY000): Can't connect to MySQL server on'192.168.230.2' (10061)
這個應該是網絡方面的緣由連不到MYSQL,多是IP或者端口不對,或者服務器沒有開啓MYSQL或者防火牆擋住了鏈接 。

 

PS:Linux下安裝完MySQL默認用戶是沒有密碼的,開啓遠程鏈接以前最好將用戶設上密碼。

 

一個簡單的方法是:

  shell命令下執行mysqladmin -u root password "密碼",能夠經過訪問mysql數據庫命令: [root@gaoke~]#mysql -uroot -p → 敲回車 輸入密碼進行驗證。

相關文章
相關標籤/搜索