Użytkownicy MySQL zmienili adres IP. Jak najlepiej sobie z tym poradzić?

23

Mam wielu użytkowników, którzy łączą się z MySQL przez VPN, więc udzielamy dotacji na wzór grant select on foo.* to user@ipaddress1itd.

W tym tygodniu adres IP używany w sieci VPN zmienił się na adres2 , więc user@ipaddress1granty nie działają.

Jaki jest najlepszy sposób obsługi aktualizacji użytkownika i udzielenia informacji w MySQL w celu odzwierciedlenia tej zmiany?

Zauważ, że granty to poważny bałagan, ponieważ niektórzy użytkownicy są wykluczeni z poszczególnych kolumn w określonych tabelach, więc musieliśmy udzielać grantów wokół wykluczonych obiektów.

cjc
źródło

Odpowiedzi:

3

Po prostu zaktualizuj pole hosta w tabeli użytkownika:

update mysql.users set Host = newIP where Host = oldIP;
flush privileges;
jdw
źródło
Próbowałem: nie działa, jeśli są granty.
cjc 10.11.11
OH ... dobra rozmowa. Mój błąd.
jdw
Powinno to działać dobrze, wystarczy wykonać flush privilegesinstrukcję po ręcznym manipulowaniu dowolną tabelą uprawnień.
Zoredache
2

Jeśli masz dedykowaną podsieć dla użytkowników VPN, następująca składnia działa dobrze.

GRANT ALL ... user_name@'192.168.1.%'
Tim Brigham
źródło
To nie pomaga obecnym użytkownikom o określonym adresie IP. Nadal będziemy musieli ponownie wykonać wszystkie granty, nawet jeśli następnym razem użyjemy zasięgu.
cjc,
Możesz zaktualizować istniejących użytkowników przy użyciu tej samej składni.
Tim Brigham,