Cambiar los permisos de host para los usuarios de MySQL

Pregunta:

Tengo las siguientes subvenciones para un usuario / base de datos

mysql> SHOW GRANTS FOR 'username'@'localhost';
+---------------------------------------------------------------------------+
| Grants for username@localhost                                             |
+---------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'username'@'localhost' IDENTIFIED BY PASSWORD 'xxx' |
| GRANT ALL PRIVILEGES ON `userdb`.* TO 'username'@'localhost'              |
+---------------------------------------------------------------------------+

Para habilitar el acceso externo a la base de datos, necesito cambiar localhost a % . Una forma de hacerlo es REVOKE todos los permisos y configurarlo de nuevo. El problema es que hay una contraseña configurada que no conozco, por lo que si revoco el permiso, no puedo volver a configurarlo.

¿Hay alguna manera de cambiar el nombre de host localhost a % (y viceversa) sin revocar el permiso en sí?

Respuesta:

Si tiene acceso a la base de datos mysql , puede cambiar las tablas de concesión directamente:

UPDATE mysql.user SET Host='%' WHERE Host='localhost' AND User='username';

… y una declaración UPDATE análoga para volver a cambiarlo.

Además, es posible que también deba realizar cambios en la tabla mysql.db :

UPDATE mysql.db SET Host='%' WHERE Host='localhost' AND User='username';

y luego enjuague para aplicar los privilegios:

FLUSH PRIVILEGES;

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım