2010-08-24 48 views
11

我在嘗試配置mysql服務器時遇到綁定地址。我想要配置綁定地址的詳細信息位於下面的鏈接中。綁定地址和Mysql服務器

Multiple HostNames and Multiple Privileges?

現在,我婉瞭解綁定地址的目的。在某種意義上,是一個綁定地址,我們分配給託管mysql服務器的機器的地址?

我不知道。如果有人能向我解釋它的目的,那真的會有幫助嗎?並將綁定地址分配0.0.0.0創建任何安全缺陷/循環孔?

+0

這屬於serverfault。這不是編程相關的。 – camh 2010-08-24 03:34:56

+0

對不起。我對Stack Overflow比較陌生。將確保我下次在那裏發佈! – 2010-08-24 14:05:07

回答

29

你在bind中指定的地址告訴mysql在哪裏聽。 0.0.0.0是一個特殊的地址,意思是「綁定到每個可用的網絡」。

只有客戶端軟件能夠使用'bind'選項中指定的相同地址打開與服務器的連接才能連接。

一些例子:

  • 如果MySQL結合127.0.0.1,然後 只能在同一臺計算機上 軟件將能夠連接(因爲 127.0.0.1始終是本地計算機)。
  • 如果MySQL結合 192.168.0.2(和服務器計算機的IP地址是192.168.0.2 ,它是一個/ 24子網),然後在同一子網 任何計算機(任何以192.168.0開頭)會能夠連接。
  • 如果mysql綁定到 0.0.0.0,則任何能夠通過網絡到達服務器計算機 的計算機將能夠連接到 。

這些都是傳輸級連接。遠程計算機仍然需要符合應用程序級別的要求,也就是說它們仍然需要mysql.user的正確登錄憑據和主機參數。

+0

不錯的解釋。但是,當我執行mysql -h 192.168.0.2 -u用戶名-p 如果192.168.0.2被分配了適當的權限,我可以連接到mysql服務器。那麼192.168.0.2這裏是mysql服務器的主機,但不是客戶端?如果我對mysql -h ip的解讀不正確,請糾正我。 – 2010-08-24 14:10:18

+0

mysql身份驗證(用戶名元素)也包含主機名限制。 -h只是表示你想連接到哪個主機。用戶可能被授予通配符訪問權限。有關更多詳細信息,請參閱https://dev.mysql.com/doc/refman/5.7/en/adding-users.html。 – 2017-11-29 19:26:23

相關問題