En ocasiones necesitamos listar los usuarios disponibles en MariaDB/MySQL por algún motivo. Ya sea porque sospechas que alguien lo ha eliminado y por eso no funciona la aplicación web, o simplemente para revisar que se ha creado correctamente.

En el tutorial de hoy os vamos a explicar como listar los usuarios disponibles en MariaDB/MySQL.

Listando usuarios

Lo que tenemos que saber, es que los usuarios que creamos en MariaDB/MySQL se crean dentro de una base de datos llamada mysql.

Por lo tanto, tendremos que usar esa base de datos y la tabla llamada user.

Así que lo primero que haremos será dentro del prompt de MariaDB/MySQL:

mysql -u root -p

Y listaremos todas las bases de datos disponibles:

MariaDB [(none)]> SHOW DATABASES;

Este comando mostrará el siguiente resultado:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.001 sec)
📢
Para este tutorial estamos utilizando una instalación limpia de MariaDB. Así que si tienes más bases de datos en el servidor, seguramente verás más resultados.

Utilizaremos la base de datos mysql:

MariaDB [(none)]> USE mysql;

Tras seleccionar la base de datos, el prompt habrá cambiado por este:

Database changed
MariaDB [mysql]>

En este punto podremos listar todas las tablas:

MariaDB [mysql]> SHOW TABLES;

Con este resultado para el caso de la base de datos mysql:

+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| column_stats              |
| columns_priv              |
| db                        |
| event                     |
| func                      |
| general_log               |
| global_priv               |
| gtid_slave_pos            |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| index_stats               |
| innodb_index_stats        |
| innodb_table_stats        |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| roles_mapping             |
| servers                   |
| slow_log                  |
| table_stats               |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| transaction_registry      |
| user                      |
+---------------------------+
31 rows in set (0.001 sec)

La última tabla, se llama user, aquí es donde tenemos todos los usuarios que hemos creado en nuestro servidor de bases de datos.

Para mostrar el contenido de esta tabla, utilizaremos esta consulta:

MariaDB [mysql]> select host,user from user;
📢
La tabla user tiene muchas columnas, por lo que lo mejor es filtrar por host y user. Si queremos visualizar todas las columnas podemos hacerlo con el siguiente comando:‌‌‌‌‌‌‌‌

desc mysql.user;

Este es el resultado de esa consulta:

+-----------+-------------+
| Host      | User        |
+-----------+-------------+
| localhost | mariadb.sys |
| localhost | mysql       |
| localhost | root        |
+-----------+-------------+
3 rows in set (0.002 sec)

Aquí podemos ver los usuarios creados y los accesos permitidos que tiene.

Si por ejemplo añadimos el siguiente usuario:

CREATE USER voidnull@'%' IDENTIFIED BY '[TuContraseña]';

Veremos que tenemos un usuario remoto llamado voidnull:

MariaDB [mysql]> select host,user from user;
+-----------+-------------+
| Host      | User        |
+-----------+-------------+
| %         | voidnull    |
| localhost | mariadb.sys |
| localhost | mysql       |
| localhost | root        |
+-----------+-------------+
4 rows in set (0.002 sec)

En resumen, si necesitas listar los usuarios de una base de datos MariaDB/MySQL, espero que esto te haya sido útil este tutorial.

Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación