MySQL: Como obtener los usuarios existentes y permisos asignados

En esta entrada voy a explicaros como podéis obtener de una forma sencilla los usuarios existentes y los permisos asignados en una instancia de MySQL.

Doy por hecho que ya sabéis como realizar la conexión a vuestra instancia de MySQL por lo que sólo me centraré en indicaros las sentencias que debéis utilizar para obtener la información.

Todas las sentencias que expongo a continuación deben realizarse con un usuario que disponga de privilegios de root.

Usuarios existentes en MySQL

Para obtener una simple enumeración de todos los usuarios existentes en MySQL ejecutaremos el siguiente comando:

SELECT user FROM mysql.user;

Como seguramente nos encontraremos con usuarios duplicados en función desde el host o dirección IP desde el que tienen acceso, modificaremos la sentencia anterior para ver el host y así tener una información más detallada.

SELECT user,host FROM mysql.user;

Permisos de los usuarios sobre las bases de datos

Para obtener todos los permisos asignados a los distintos usuarios existentes en nuestra instancia ejecutaremos la siguiente sentencia:

SELECT * FROM mysql . db;

Nota: Debido a un problema de WordPress a la hora de guardar tendréis que quitar los espacios entre mysql . db para que la sentencia funciona correctamente.

Si queremos afinar un poco más y ver los permisos de una base de datos concreta y además que nos salga la información de forma estructurada lanzaremos la sentencia de la siguiente manera:

SELECT * FROM mysql . db where Db='nombre de la base de datos'\G;

Nota: Al igual que en la sentencia anterior debéis quitar los espacios para que funcione correctamente la sentencia.

En próximas entradas os explicaré otra serie de sentencias útiles para la administración de MySQL.

Espero os haya servido de utilidad.

Entradas relacionadas

Deja un comentario