【问题标题】:What does bind-address = * (asterisk) mean in mysqlmysql中的bind-address = *(星号)是什么意思
【发布时间】:2019-01-19 09:41:57
【问题描述】:

我知道 bind-address 属性存储了可以连接到 mysql 服务器的 IP 地址(或 IP 地址范围),但我不明白 *(星号)值代表什么。它是否与 0.0.0.0 同义(即:接受来自所有地址的连接)?

【问题讨论】:

    标签: mysql


    【解决方案1】:

    * 导致服务器侦听所有地址,IPv4 和 IPv6,而 0.0.0.0 仅导致它侦听所有 IPv4 地址。

    来自"5.1.7 Server Command Options"

    • --bind-address=addr (...)

      • 如果地址为 *,则服务器接受所有服务器主机 IPv4 接口上的 TCP/IP 连接,如果服务器主机支持 IPv6,则接受所有 IPv6 接口上的 TCP/IP 连接。使用此地址可允许所有服务器接口上的 IPv4 和 IPv6 连接。 (...)

      • 如果地址为 0.0.0.0,则服务器接受所有服务器主机 IPv4 接口上的 TCP/IP 连接。 (...)

    【讨论】:

    • 在 CentOS 7 上运行的 MySQL 5.7.26 Community Edition 上,bind_address=* 的行为与 MySQL 文档中描述的不同。相反,它只听 ipv6,而不听 ipv4。我只能通过使用 bind_address=0.0.0.0 让它听 ipv4,不幸的是,这也使它不听 ipv6。
    【解决方案2】:

    bind-address =* 表示使用 INADDR_ANY 和/或 IN6ADDR_ANY 在 IPv4 或 IPv6 或两者上绑定。

    这意味着任何可以连接到您系统的客户端都可以尝试连接到 MySQL(因此您的安全性需要在 MySQL 中进行良好配置)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-20
      • 2011-12-16
      • 2010-10-09
      • 1970-01-01
      • 2018-08-04
      • 2011-05-09
      相关资源
      最近更新 更多