Mi Blog
👉 Cómo listar todos los usuarios de MySQL y MariaDB

Cómo listar todos los usuarios de MySQL y MariaDB

 
(2 votos)

Listar los usuarios de MySQL/MariaDB y sus bases de datos es necesario cuando queremos realizar alguna limpieza en el SGBD (Sistema Gestor de Bases de Datos), comprobar quienes tienen acceso a las bases de datos, realizar alguna auditoria de seguridad, verificar la correcta configuración de accesos etc...

Seguid leyendo y os enseñaré a listar los usuarios de MySQL/MariaDB y las bases de datos a las que tienen acceso...

⬇️ Compra en Amazon el hardware que utilizo ⬇️

🔥 ¡DESCÚBRELOS! 🔥

 

 

¿QUÉ SON LOS USUARIOS EN MYSQL/MARIADB?

Los usuarios de MySQL/MariaDB se utilizan para conectar a un servidor de base de datos (SGBD). MySQL y MariaDB disponen de su propio sistema de permisos, y cada vez que necesitemos acceder a una base de datos, deberemos iniciar sesión con un nombre de usuario y una contraseña correcta. Cada vez que creemos una nueva base de datos MySQL/MariaDB, deberemos especificar un nombre de usuario y contraseña para acceder.

 

 

Gestionar los usuarios de MySQL/MariaDB es esencial para garantizar la seguridad del SGBD

 

 

1.- ELEMENTOS NECESARIOS PARA ESTE TUTORIAL

  • Un PC con cualquier Sistema Operativo
  • Servidor MySQL/MariaDB y acceso de administrador al SGBD de MySQL/MariaDB

 

 

2.- CONECTAR AL SGBD (SISTEMA GESTOR DE BASES DE DATOS)

El primer paso es conectar al servidor de bases de datos o SGBD. Para ello, desde consola y desde cualquier Sistema Operativo e independientemente si el SGBD es MySQL o MariaDB, ejecutaremos un comando -como el siguiente- respetando la sintaxis y los espacios. La sintaxis es la siguiente:

raul@debian:~$ mysql -h[equipo] -u [usuario] -p

 

 

Por ejemplo, para conectar al servidor local ubicado en la misma máquina, con el usuario administrador root, introduciremos lo siguiente:

raul@debian:~$ mysql -u root -p
Enter password: ********
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 318
Server version: 10.4.14-MariaDB mariadb.org binary distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

 

 

3.- LISTAR TODO LOS USUARIOS

La tabla user es donde el SGBD guarda toda la información relativa a los usuarios junto a sus privilegios globales.

Si deseamos listar todos los usuarios de un servidor MySQL/MariaDB, simplemente debemos seleccionar dicha tabla y la columna "User". La tabla user pertenece a la tabla mysql. En el siguiente ejemplo, mostramos el nombre de todos los usuarios almacenados en la tabla user:

MariaDB [(none)]> SELECT User FROM mysql.user;
+----------+
| User |
+----------+
| newuser |
| remote |
| telegraf |
| root |
| root |
| newuser |
| pma |
| remote |
| root |
| sysadmin |
| telegraf |
+----------+
11 rows in set (0.010 sec)

 

 

4.- LISTAR TODAS LAS BASES DE DATOS

Para listar todas las bases de datos del SGBD, es tan sencillo como ejecutar el comando siguiente:

MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| gestco |
| information_schema |
| mysql |
| performance_schema |
| phpmyadmin |
| production |
| production_ba |
| production_ma |
| test |
| testing |
| vivelamagia |
+--------------------+
11 rows in set (0.008 sec)

 

 

5.- LISTAR TODOS LOS USUARIOS Y SUS BASES DE DATOS

Ahora, si queremos saber las bases de datos a las que tiene acceso cada uno de los usuarios, es tan sencillo como enlazar con un INNER JOIN la tablas mysql.user y mysql.db a través del campo "User" de ambas tablas. Para ello, ejecutaremos el siguiente comando:

MariaDB [(none)]> SELECT u.User,Db FROM mysql.user u INNER JOIN mysql.db d ON u.User=d.User;
+----------+---------------+
| User | Db |
+----------+---------------+
| newuser | gestco |
| newuser | vivelamagia |
| remote | production |
| telegraf | production_ba |
| telegraf | production_ma |
| newuser | gestco |
| newuser | vivelamagia |
| pma | phpmyadmin |
| remote | production |
| telegraf | production_ba |
| telegraf | production_ma |
+----------+---------------+
11 rows in set (0.001 sec)

 

 

6.- LISTAR TODOS LOS USUARIOS, SUS BASES DE DATOS Y HOST

MySQL/MariaDB, permiten acceder a un usuario desde un host remoto, desde varios o desde cualquier host remoto. Si queremos saber exactamente desde que hosts puede conectar cada uno de los usuarios, deberemos obtener también el campo "Host". Para ello, modificaremos el comando del paso 5 y ejecutaremos el siguiente:

MariaDB [(none)]> SELECT u.User,Db,d.Host FROM mysql.user u,mysql.db d WHERE u.User=d.User;
+----------+---------------+-----------+
| User | Db | Host |
+----------+---------------+-----------+
| newuser | gestco | % |
| newuser | vivelamagia | % |
| remote | production | % |
| telegraf | production_ba | % |
| telegraf | production_ma | % |
| newuser | gestco | % |
| newuser | vivelamagia | % |
| pma | phpmyadmin | localhost |
| remote | production | % |
| telegraf | production_ba | % |
| telegraf | production_ma | % |
+----------+---------------+-----------+
11 rows in set (0.001 sec)

 

 

% significa que el usuario puede acceder desde cualquier equipo remoto.

  

 

ENJOY!


Acerca de Mi

RPF

Soy Ingeniero Téc. Industrial Mecánico, Administrador de Sistemas Informáticos, Desarrollador de Aplicaciones Informaticas Web, Técnico Superior en PRL, Experto en Energías Renovables... y trabajo actualmente como Senior DevOPS en HP SCDS.

Contactar conmigo

Dirección: León, España

E-Mail: Contactar

Web: https://www.raulprietofernandez.net

Skype: raul.lnx

APÚNTATE GRATIS

VIP RPF
Entra en la Comunidad VIP y consigue acceso a las descargas en PDF, Trucos y Videotutoriales ocultos y mucho más... ¡Muy Pronto!
Cookies

Usamos cookies en nuestro sitio web. Algunas de ellas son esenciales para el funcionamiento del sitio, mientras que otras nos ayudan a mejorar el sitio web y también la experiencia del usuario (cookies de rastreo). Puedes decidir por ti mismo si quieres permitir el uso de las cookies. Ten en cuenta que si las rechazas, puede que no puedas usar todas las funcionalidades del sitio web.