2016-05-24 19 views
0

Wir können Benutzer in MySQL erstellen, die von einer bestimmten IP oder einem Bereich von IPs erlaubt sind. Zum Beispiel: CREATE USER 'username' @ 'IP' IDENTIFIED BY ... Wenn ich hier eine bestimmte IP gebe, bedeutet dies, dass Benutzer von dieser IP nur auf MySQL zugreifen können. Jetzt ist ein Load Balancer (HAProxy) auf vielen MySQL-Knoten erforderlich. Das Problem ist: Wenn eine Anfrage von HAProxy an MySQL kommt, ist es die IP von HAProxy, die zu MySQL kommt. Die Art, wie ich die IP beim Erstellen eines Benutzers verwenden möchte, funktioniert nicht. Meine Frage ist besonders bei diesem USE-CASE und ich würde gerne wissen, ob es eine Lösung dafür gibt?HAProxy IP-Weiterleitung an MySQL zur Steuerung des Benutzerzugriffs basierend auf IP

Antwort

0

Sie müssen einen Benutzer mit der Haproxy-IP erstellen, da DB-Datenverkehr von dort kommt.

Anstelle von bestimmten IPs können Sie auch Wildcard-IPs wählen, z. [email protected]%. Benutzer können von Maschinen mit IPs ausgehend von auf MySQL zugreifen. Wenn sich sowohl die DB- als auch die Haproxy-Maschine im selben Netzwerk befinden (10.10.10.x), müssen Sie nur ein Konto erstellen.

mehr Optionen in der Dokumentation an: https://dev.mysql.com/doc/refman/5.7/en/account-names.html

Wenn Sie sich entscheiden, in vollem Umfang die Benutzer, um den Übergang des Proxy verwenden MySQL zugreifen, können Sie die host der sie Benutzerkonto ändern, wie hier erwähnt: https://stackoverflow.com/a/12045483/255523

+0

doesn Löse mein Problem nicht, da ich bestimmte Benutzer für bestimmte IP (s) anlegen muss. – siddhusingh

+0

Sie haben keine andere Wahl als die IPs anzugeben, von denen Sie erwarten, dass Benutzer eine Verbindung herstellen. In deinem Fall ist es haproxy. Was Sie tun können, ist die Minimierung der Menge an Arbeit, die Sie benötigen, um die Benutzer z. Dauerwellen, Namen usw. Überprüfen Sie dies: http://StackOverflow.com/a/12045483/255523 –