Los usuarios de MySQL cambiaron su dirección IP. ¿Cuál es la mejor manera de lidiar con esto?

23

Tengo una serie de usuarios que se conectan a MySQL a través de una VPN, por lo que tenemos subvenciones en la misma línea grant select on foo.* to user@ipaddress1y más.

Esta semana, la IP utilizada en la VPN cambió a address2 , por lo que las user@ipaddress1subvenciones ya no funcionan.

¿Cuál es la mejor manera de manejar la actualización del usuario y otorgar información en MySQL para reflejar este cambio?

Tenga en cuenta que las concesiones son un desastre grave, porque algunos usuarios están excluidos de columnas particulares en tablas particulares, por lo que hemos tenido que otorgar concesiones alrededor de los objetos excluidos.

cjc
fuente

Respuestas:

3

Simplemente actualice el campo host en la tabla de su usuario:

update mysql.users set Host = newIP where Host = oldIP;
flush privileges;
jdw
fuente
Intenté eso: no funciona si hay subvenciones.
cjc
OH ... buena llamada. Mi error.
jdw
Esto debería funcionar bien, solo necesita ejecutar la flush privilegesdeclaración después de manipular manualmente cualquiera de las tablas de privilegios.
Zoredache
2

Si tiene una subred dedicada para sus usuarios de VPN, la siguiente sintaxis funciona bien.

GRANT ALL ... user_name@'192.168.1.%'
Tim Brigham
fuente
Eso no ayuda con los usuarios existentes en una IP específica. Todavía tendríamos que rehacer todas las subvenciones, incluso si estamos usando un rango la próxima vez.
cjc
Puede actualizar los usuarios existentes con la misma sintaxis.
Tim Brigham