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