MySQL-Benutzer haben ihre IP-Adresse geändert. Was ist der beste Weg, um damit umzugehen?

22

Ich habe eine Reihe von Benutzern, die sich über ein VPN mit MySQL verbinden, also haben wir Zuschüsse in der Art von grant select on foo.* to user@ipaddress1und so weiter.

In dieser Woche verwendet die IP auf die VPN geändert address2 , so user@ipaddress1gewährt nicht mehr.

Wie kann ich den Benutzer am besten aktualisieren und Informationen in MySQL gewähren, um diese Änderung widerzuspiegeln?

Beachten Sie, dass die Zuschüsse ein ernstes Chaos darstellen, da einige Benutzer von bestimmten Spalten in bestimmten Tabellen ausgeschlossen sind. Daher mussten wir Zuschüsse für die ausgeschlossenen Objekte vornehmen.

cjc
quelle

Antworten:

3

Aktualisieren Sie einfach das Host-Feld in der Tabelle Ihres Benutzers:

update mysql.users set Host = newIP where Host = oldIP;
flush privileges;
jdw
quelle
Versucht das: es funktioniert nicht, wenn es Stipendien gibt.
cjc
OH ... guter Anruf. Mein Fehler.
Jdw
Dies sollte problemlos funktionieren. Sie müssen die flush privilegesAnweisung nur ausführen , nachdem Sie eine der Berechtigungstabellen manuell bearbeitet haben .
Zoredache
2

Wenn Sie ein dediziertes Subnetz für Ihre VPN-Benutzer haben, funktioniert die folgende Syntax gut.

GRANT ALL ... user_name@'192.168.1.%'
Tim Brigham
quelle
Das hilft den vorhandenen Benutzern bei einer bestimmten IP nicht. Wir müssten immer noch alle Stipendien wiederholen, auch wenn wir das nächste Mal einen Bereich verwenden.
cjc
Sie können die vorhandenen Benutzer mit derselben Syntax aktualisieren.
Tim Brigham