Usuarios y permisos MySQL

MysqlYa he escrito algunos posts donde se ha hablado un poco de la administración de usuarios y permisos en MySQL como éste o éste otro. Sin embargo, voy a resumir en un breve post la administración de usuarios y permisos de MySQL.
Podemos ver los usuarios que tenemos en el mysql con el siguiente comando:

mysql> select * from mysql.user;

Esto nos mostrará todos los usuarios definidos en mysql, separando además los usuarios por host (si tenemos un usuario [email protected] y el mismo usuario para acceder desde cualquier host [email protected]’%’, aparecerán dos líneas para este usuario.

Para conocer los permisos que tiene un determinado usuario, se podrá usar:

mysql> show grants for [email protected]’host’

Por ejemplo: mysql> show grants for [email protected]’%’

Si se quiere añadir, por ejemplo, el permiso ALTER a la lista de permisos que ya tiene el usuario [email protected]’%’, se podrá usar el siguiente comando:

mysql> grant alter on *.* to [email protected]’%’

Nota: en este caso, *.* corresponde a la base de datos a la cual se le aplicarán los permisos para el usuario (*.* = todas las bases de datos).
Actualización: si se quiere dar el permiso ALTER sólo para una base de datos concreta, se puede usar la sentencia grant alter on bbdd.* TO ‘user’@’host’;

Tras modificar los permisos de un usuario, podría ser posible que se necesitara ejecutar un «flush privileges», sin embargo, en ocasiones esto no es necesario.

Finalmente, se podrá eliminar un [email protected] sin eliminar al mismo usuario para otro host, de la siguiente manera:

mysql>drop user [email protected]’%’;

La instrucción anterior eliminaría al usuario [email protected]% pero no eliminaría a [email protected]

Fuentes: http://kb.mediatemple.net/questions/788/HOWTO%3A+GRANT+privileges+in+MySQL#dv
http://serverfault.com/questions/117525/how-can-i-show-users-privileges-in-mysql

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *