Користувачі 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.