绑定地址和MySQL服务器[关闭]
Posted
技术标签:
【中文标题】绑定地址和MySQL服务器[关闭]【英文标题】:Bind address and MySQL server [closed] 【发布时间】:2011-04-02 22:24:36 【问题描述】:我在尝试配置 mysql 服务器时遇到了绑定地址。我为什么要配置绑定地址的详细信息在下面的链接中。
Multiple hostnames and multiple privileges?
现在,我想了解绑定地址的用途。从某种意义上说,绑定地址是我们分配给托管 MySQL 服务器的机器的地址吗?
我不知道。如果有人可以向我解释它的目的,那将非常有帮助。另外,将0.0.0.0
分配给绑定地址会造成任何安全漏洞/漏洞吗?
【问题讨论】:
这属于服务器故障。它与编程无关。 很抱歉。我对 Stack Overflow 比较陌生。下次我会确保在那里发帖! 【参考方案1】:你在 bind 中指定的地址告诉 MySQL 在哪里监听。 0.0.0.0 是一个特殊的地址,意思是“绑定到每个可用的网络”。
只有能够使用“绑定”选项中指定的相同地址打开与服务器的连接的客户端软件才被允许连接。
一些例子:
如果 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
的正确登录凭据和主机参数。
【讨论】:
很好的解释。但是当我执行 mysql -h 192.168.0.2 -u username -p 如果为 192.168.0.2 分配了适当的权限,我就可以连接到 mysql 服务器。所以这里的 192.168.0.2 是 mysql 服务器的主机,而不是客户端仪式?如果我对 mysql -h ip 的理解有误,请纠正我。 mysql 身份验证(用户名元素)还包含主机名限制。 -h 仅指示您要连接的主机。可以授予用户通配符访问权限。更多详情请见dev.mysql.com/doc/refman/5.7/en/adding-users.html 第 (2) 点不正确。任何可以到达该子网的计算机都可以连接到它。 嗯,第 2 点是正确的。但是,除了第 2 点的简单情况(即 ***、NAT 或其他奇特的路由)之外,还有其他情况允许子网之间建立连接,这也是正确的。 第 (2) 点让我很困惑,我能够理解关于 IP 值为192.168.0.2
的场景。它可以连接,因为它与bind-address
明确相同,但稍后您指示其他如192.168.0.3
可以连接。对吗?以上是关于绑定地址和MySQL服务器[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
mysql 指定多个IP 绑定监听地址 bind_address
mysql 指定多个IP 绑定监听地址 bind_address
mysql 指定多个IP 绑定监听地址 bind_address