2016-05-24 48 views
0

我們可以在MySQL中創建允許來自特定IP或IP範圍的用戶。例如,創建用戶'用戶名'@'IP'IDENTIFIED BY ... 這裏如果我給出一個特定的IP,這意味着來自該IP的用戶只能訪問MySQL。 現在需要一個負載均衡器(HAProxy),在它後面的許多MySQL節點之上。問題是:當一個請求來自HAProxy到MySQL時,這是HAProxy的IP來到MySQL。所以我想在創建用戶時使用IP的方式不起作用。我的問題僅限於USE-CASE,我想知道它是否有解決方案?HAProxy IP轉發到MySQL以控制基於IP的用戶訪問

回答

0

您必須使用haproxy IP創建用戶,因爲數據庫流量將來自此處。

除了特定的IP,您還可以選擇通配符IP,例如[email protected]%。用戶可以從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

+0

沒有按解決我的問題,因爲我必須爲特定IP創建特定用戶。 – siddhusingh

+0

您別無選擇,只能指定您希望用戶連接的IP地址。在你的情況下,它是haproxy。你可以做的是儘量減少你轉換用戶所需的工作量,例如燙髮,名字等檢查了這一點:http://stackoverflow.com/a/12045483/255523 –