Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero
Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero

Cómo Ver Usuarios en MySQL/MariaDB y Problemas Comunes de Acceso

Loading

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ón

Listar 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 database

Causas

  • 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 mysql o mysql.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 -p

Listar 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 GRANTS para 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.

You may also like...