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


23

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

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

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

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

Ответы:



3

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

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

Пробовал это: не работает, если есть гранты.
CJC

ОН ... хороший звонок. Виноват.
JDW

Это должно работать нормально, вам просто нужно выполнить flush privilegesинструкцию после того, как вы вручную манипулируете любой из таблиц привилегий.
Зоредаче

2

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

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

Это не помогает существующим пользователям с определенным IP. Нам все еще придется переделать все гранты, даже если мы используем диапазон в следующий раз.
CJC

Вы можете обновить существующих пользователей с тем же синтаксисом.
Тим Бригам
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.