Пользователи 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.