Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero
![]()
En entornos MySQL o MariaDB, la gestión de usuarios y privilegios es un aspecto crítico de la administración de bases de datos. Acceder a la lista de usuarios puede variar según la versión de la base de datos y la configuración de permisos del servidor. Este artículo técnico explica cómo listar usuarios, los problemas comunes al intentar consultar la tabla mysql.user o mysql.global_priv, y alternativas seguras cuando se enfrentan restricciones.
Listar usuarios con SQL
Método clásico
En versiones antiguas de MySQL y MariaDB, la lista de usuarios se encuentra en la tabla mysql.user. Para listar usuarios y hosts permitidos:
SELECT User, Host FROM mysql.user;User: nombre de usuario.Host: host desde el cual se permite la conexión (%indica cualquier host).
Para obtener más información, incluyendo plugin de autenticación y hash de contraseña:
SELECT User, Host, authentication_string, plugin FROM mysql.user;Nota: Para ejecutar estas consultas, se requiere un usuario con privilegios de administrador (generalmente
root).
Método en MySQL 8 y MariaDB 10.4+
En versiones modernas, la información de usuarios puede estar en la tabla mysql.global_priv:
SELECT User, Host FROM mysql.global_priv;Ver usuario de la sesión actual
Para identificar el usuario con el que se ha conectado la sesión actual:
SELECT CURRENT_USER(); -- Usuario con el que MySQL te autentica
SELECT USER(); -- Usuario con el que iniciaste sesiónListar privilegios accesibles
Para comprobar qué acciones puede ejecutar tu usuario:
SHOW GRANTS;Problema frecuente: “Ignoring query to other database”
Al ejecutar SELECT User, Host FROM mysql.user; o CREATE USER …, puede aparecer:
Ignoring query to other databaseCausas
- La sesión no tiene privilegios globales para acceder a la base de datos
mysql. - El servidor está configurado para bloquear consultas directas a bases de datos del sistema, como
mysqlomysql.global_priv. - Ocurre en entornos gestionados, contenedores, paneles de hosting (cPanel, Plesk), o servidores MySQL detrás de proxies que restringen el acceso.
Consecuencias
- No se pueden listar todos los usuarios de la base de datos.
- No se pueden crear o modificar usuarios a través de consultas SQL directas.
- La sintaxis de SQL es correcta, el problema es una restricción de permisos.
Soluciones y alternativas
Ver usuario actual:
SELECT CURRENT_USER(), USER();Útil para saber con qué usuario estás conectado.
Ver privilegios actuales:
SHOW GRANTS;Esto permite conocer qué operaciones puedes ejecutar con tu usuario actual.
Acceso root directo:
En servidores propios o locales, conectarse como root directamente evita el bloqueo:
sudo mysql -u root -pListar usuarios accesibles sin mysql.user:
SELECT DISTINCT User, Host FROM information_schema.SCHEMA_PRIVILEGES;Esto muestra usuarios que tienen permisos sobre esquemas específicos.
Crear usuarios:
Solo posible si se tiene un usuario con privilegios globales (root) o acceso directo al servidor.
Conclusión
La gestión de usuarios en MySQL/MariaDB depende de la versión y de los permisos disponibles. En entornos restringidos o gestionados, intentar acceder a mysql.user o mysql.global_priv puede producir mensajes como Ignoring query to other database. La solución consiste en:
- Usar comandos que muestran los usuarios y privilegios accesibles según el contexto.
- Conectarse con un usuario con privilegios adecuados (root o administrador).
- Consultar
SHOW GRANTSpara conocer qué operaciones se pueden ejecutar.
Este enfoque garantiza que la administración de usuarios sea segura, incluso cuando el acceso a las bases del sistema está limitado.






