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.

cjc
la source

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;
jdw
la source
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.%'
Tim Brigham
la source
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