HAProxy IP转发到MySQL以控制基于IP

时间:2016-05-24 11:25:26

标签: mysql ip haproxy internal-load-balancer

我们可以在MySQL中创建允许来自特定IP或IP范围的用户。例如,创建用户'用户名' @' IP'通过身份识别... 如果我给出一个特定的IP,这意味着来自该IP的用户只能访问MySQL。 现在需要在其后面的许多MySQL节点之上安装负载均衡器(HAProxy)。问题是:当一个请求来自HAProxy到MySQL时,它是来自MySQL的HAProxy的IP。因此,我想在创建用户时使用IP的方式不起作用。我的问题特别针对这个USE-CASE而且我想知道它有什么解决方案吗?

1 个答案:

答案 0 :(得分:0)

您必须使用haproxy IP创建用户,因为数据库流量将来自那里。

您也可以选择通配符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