我们可以在 MySQL 中创建允许来自特定 IP 或 IP 范围的用户。例如,CREATE USER 'username'@'IP' IDENTIFIED BY ... 这里如果我给出一个特定的 IP,这意味着来自该 IP 的用户只能访问 MySQL。现在需要一个负载均衡器(HAProxy)在它后面的许多 MySQL 节点之上。问题是:当请求来自 HAProxy 到 MySQL 时,它是 HAProxy 的 IP 来到 MySQL。所以我想在创建用户时使用 IP 的方式行不通。我的问题特别针对这个用例,我想知道有什么解决方案吗?
问问题
668 次
1 回答
0
您必须使用 haproxy IP 创建一个用户,因为数据库流量将来自那里。
除了特定 IP,您还可以选择通配符 IP,例如user@10.10.10.%
. 用户可以从 IP 开头的机器访问 MySQL 10.10.10
。如果 DB 和 haproxy 机器在同一个网络(10.10.10.x),你只需要创建一个帐户。
探索文档中的更多选项:https ://dev.mysql.com/doc/refman/5.7/en/account-names.html
如果您决定将用户完全转换为使用代理访问 mysql,您可以更改host
他们的用户帐户,如下所述:https ://stackoverflow.com/a/12045483/255523
于 2016-05-26T06:12:46.277 回答