【问题标题】:HAProxy IP forwarding to MySQL to control user access based on IPHAProxy IP转发到MySQL,根据IP控制用户访问
【发布时间】:2016-09-21 14:03:17
【问题描述】:

我们可以在 MySQL 中创建允许来自特定 IP 或 IP 范围的用户。例如,CREATE USER 'username'@'IP' IDENTIFIED BY ... 这里如果我给出一个特定的 IP,这意味着来自该 IP 的用户只能访问 MySQL。 现在需要一个负载均衡器(HAProxy)在它后面的许多 MySQL 节点之上。问题是:当请求来自 HAProxy 到 MySQL 时,它是 HAProxy 的 IP 来到 MySQL。所以我想在创建用户时使用 IP 的方式行不通。我的问题特别针对这个用例,我想知道有什么解决方案吗?

【问题讨论】:

    标签: mysql ip haproxy internal-load-balancer


    【解决方案1】:

    您必须使用 haproxy IP 创建一个用户,因为 DB 流量将来自那里。

    除了特定 IP,您还可以选择通配符 IP,例如user@10.10.10.%。用户可以从 IP 以10.10.10 开始的机器访问 MySQL。如果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

    【讨论】:

    • 不能解决我的问题,因为我必须为特定 IP 创建特定用户。
    • 您别无选择,只能指定您希望用户连接的 IP。在你的情况下,它是haproxy。您可以做的是尽量减少转换用户所需的工作量,例如烫发、姓名等。看看这个:stackoverflow.com/a/12045483/255523
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多