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)
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;
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.
Comentarios