Les utilisateurs de MySQL ont changé leur adresse IP. Quelle est la meilleure façon de gérer cela?


23

J'ai un certain nombre d'utilisateurs qui se connectent à MySQL via un VPN, nous avons donc des subventions dans le sens de grant select on foo.* to user@ipaddress1etc.

Cette semaine, l'IP utilisée sur le VPN a changé en address2 , donc les user@ipaddress1concessions ne fonctionnent plus.

Quelle est la meilleure façon de gérer la mise à jour de l'utilisateur et d'accorder des informations dans MySQL pour refléter ce changement?

Notez que les octrois sont un gâchis sérieux, car certains utilisateurs sont exclus de colonnes particulières dans des tables particulières, nous avons donc dû faire des octrois autour des objets exclus.

Réponses:



3

Mettez simplement à jour le champ hôte dans la table de votre utilisateur:

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

J'ai essayé: cela ne fonctionne pas s'il y a des subventions.
cjc

OH ... bon appel. Ma faute.
jdw

Cela devrait très bien fonctionner, il vous suffit d'exécuter l' flush privilegesinstruction après avoir manipulé manuellement l'une des tables de privilèges.
Zoredache

2

Si vous avez un sous-réseau dédié pour vos utilisateurs VPN, la syntaxe suivante fonctionne bien.

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

Cela n'aide pas les utilisateurs existants à une adresse IP spécifique. Il nous faudrait encore refaire toutes les subventions, même si nous utilisons une plage la prochaine fois.
cjc

Vous pouvez mettre à jour les utilisateurs existants avec la même syntaxe.
Tim Brigham
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.