Solución:
Los privilegios asignados a través de la opción GRANT no necesitan FLUSH PRIVILEGES para tener efecto; el servidor MySQL notará estos cambios y volverá a cargar las tablas de otorgamiento de inmediato.
De la documentación de MySQL:
Si modifica las tablas de concesión directamente utilizando declaraciones como INSERT, UPDATE o DELETE, sus cambios no tienen ningún efecto en la comprobación de privilegios hasta que reinicie el servidor o le diga que vuelva a cargar las tablas. Si cambia las tablas de concesión directamente pero se olvida de volver a cargarlas, los cambios no tendrán ningún efecto hasta que reinicie el servidor. Esto puede hacer que se pregunte por qué sus cambios parecen no hacer ninguna diferencia.
Para decirle al servidor que vuelva a cargar las tablas de concesión, realice una operación de descarga de privilegios. Esto se puede hacer emitiendo una instrucción FLUSH PRIVILEGES o ejecutando un comando mysqladmin flush-privileges o mysqladmin reload.
Si modifica las tablas de concesión indirectamente mediante declaraciones de administración de cuentas como GRANT, REVOKE, SET PASSWORD o RENAME USER, el servidor nota estos cambios y carga las tablas de concesión en la memoria de nuevo inmediatamente.
TL; DR
Deberías usar FLUSH PRIVILEGES;
solo si modifica las tablas de subvenciones directamente utilizando declaraciones como INSERT
, UPDATE
, o DELETE
.
Solo para dar algunos ejemplos. Digamos que modifica la contraseña de un usuario llamado ‘alex’. Puede modificar esta contraseña de varias formas. Por ejemplo:
mysql> update* user set password=PASSWORD('test!23') where user="alex";
mysql> flush privileges;
Aquí usó ACTUALIZAR. Si usa INSERT, UPDATE o DELETE en las tablas de subvenciones directamente, necesita usar FLUSH PRIVILEGES para volver a cargar las tablas de subvenciones.
O puede modificar la contraseña de esta manera:
mysql> set password for 'alex'@'localhost'= password('test!24');
Aquí no es necesario utilizar “PRIVILEGIOS DE DESCARGA”; Si modifica las tablas de concesión indirectamente mediante declaraciones de administración de cuentas como GRANT, REVOKE, SET PASSWORD o RENAME USER, el servidor nota estos cambios y carga las tablas de concesión en la memoria de nuevo inmediatamente.