2016-08-14 58 views
0

你好我有一個MySQL的問題,MySQL啓用服務器通過TCP/IP進行通信

我想允許從其他機器訪問我的數據庫。我在「mysqld.cnf」文件中編輯了bind-address = 0.0.0.0。然後,我輸入了我的殼netstat -tln,我得到這個:

Active Internet connections (only servers) 
Proto Recv-Q Send-Q Local Address   Foreign Address   State 
tcp  0  0 0.0.0.0:3306   0.0.0.0:*    LISTEN 
tcp  0  0 0.0.0.0:22    0.0.0.0:*    LISTEN 
tcp6  0  0 :::80     :::*     LISTEN 
tcp6  0  0 :::21     :::*     LISTEN 
tcp6  0  0 :::22     :::*     LISTEN 

因此,我不明白爲什麼這是行不通的。的確,目前,我只能在本地主機上連接。

我希望有人能夠幫我解決這個問題。
在此先感謝您的幫助:)

+0

我新的MySQL和VPS管理。我應該怎麼做才能解決這個問題? – titi157

+0

OVH是我的提供者。 – titi157

+0

這是星期天,所以他們的支持關閉。我希望有人能幫助我在這裏^^。 – titi157

回答

0

默認的數據庫名稱「MySQL的」有一個「用戶」表,但這個表中的每一主機本地主機,所以你需要授予的權限對於需要連接到數據庫的特定IP。通過這樣做,您將啓用特定IP地址的遠程訪問。

這裏是授予遠程訪問教程:easyengine.io/tutorials/mysql/remote-access

-2

沒有研究深入到爲什麼「0.0.0.0」語法失敗,最簡單的解決將是採取實際的面向公衆的IP(從使用ifconfig檢查INET地址線輸出如果你不知道它),並將其分配給「綁定地址」。

你也可能需要設置「端口」的變量,而你在這。

希望這會有所幫助!

+1

這是一個壞主意,因爲它會阻止本地訪問,除非您指定正確的IP。它非常*不尋常的必須綁定到您的外部IP。默認情況下,它綁定到'localhost'地址,這可能是一個問題,但是對於IPv4,「0.0.0.0」可以。 – tadman

+0

「用你的方式來指定正確的IP?」 ......真的嗎?這不是沒有辦法做正確的事情。另外,我從未遇到過阻止本地訪問的情況。您聲稱「0.0.0.0適用於IPv4」,但該用戶似乎無法使其工作。沒有哪裏的MySQL聲明綁定到外部IP是不好的做法 - 這實際上是綁定地址的目的,選擇一個特定的IP來監聽而不是所有的接口。 – MarCPlusPlus

+1

不正確。不標準。不建議。綁定到1.2.3.4意味着它僅連接到「以太網」接口,並且迴環無法連接到它。這是大多數UNIX類型系統一直工作的方式。 – tadman

相關問題