Назад | Перейти на главную страницу

Пользователи MySQL изменили свой IP-адрес. Как лучше всего с этим справиться?

У меня есть несколько пользователей, которые подключаются к MySQL через VPN, поэтому у нас есть гранты в виде grant select on foo.* to user@ipaddress1 и так далее.

На этой неделе IP, используемый в VPN, изменился на Адрес 2, так user@ipaddress1 гранты больше не работают.

Как лучше всего обрабатывать обновление пользователя и предоставлять информацию в MySQL, чтобы отразить это изменение?

Обратите внимание, что гранты представляют собой серьезный беспорядок, потому что некоторые пользователи исключены из определенных столбцов в определенных таблицах, поэтому нам пришлось делать гранты для исключенных объектов.

По-видимому, правильный способ сделать это:

RENAME USER user@ipaddress1 TO user@ipaddress2;

http://dev.mysql.com/doc/refman/5.0/en/rename-user.html

Это касается всех грантов.

Просто обновите поле хоста в таблице пользователя:

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

Если у вас есть выделенная подсеть для пользователей VPN, следующий синтаксис работает хорошо.

GRANT ALL ... user_name@'192.168.1.%'