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.

Odpowiedzi:



3

Po prostu zaktualizuj pole hosta w tabeli użytkownika:

update mysql.users set Host = newIP where Host = oldIP;
flush privileges;

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.%'

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,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.