2010-08-24 47 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

相关问题