Pregunta Cómo obtener una lista de cuentas de usuario MySQL


Estoy usando la utilidad de línea de comandos MySQL y puedo navegar a través de una base de datos. Ahora necesito ver una lista de cuentas de usuario. ¿Cómo puedo hacer esto?

Estoy usando la versión de MySQL 5.4.1.


1213
2017-07-16 03:23


origen


Respuestas:


Use esta consulta:

SELECT User FROM mysql.user;

Que dará como resultado una tabla como esta:

+-------+
| User  |
+-------+
| root  |
+-------+
| user2 |
+-------+

Como Matthew Scharley señala en los comentarios sobre esta respuesta, puedes agrupar por User columna si solo desea ver nombres de usuario únicos.


1740
2017-07-06 18:21



Encuentro que este formato es el más útil ya que incluye el campo de host, que es importante en MySQL para distinguir entre registros de usuario.

select User,Host from mysql.user;

414
2017-09-29 22:29



Una cuenta de usuario comprende el nombre de usuario y el acceso de nivel de host.

Por lo tanto, esta es la consulta que da todas las cuentas de usuario

SELECT CONCAT(QUOTE(user),'@',QUOTE(host)) UserAccount FROM mysql.user;

108
2017-09-29 22:01



para evitar repeticiones de usuarios cuando se conectan desde diferentes orígenes:

select distinct User from mysql.user;

45
2017-07-16 03:28



Si se refiere a los usuarios reales de MySQL, intente:

select User from mysql.user;

27
2017-10-26 10:33



MySQL almacena la información del usuario en su propia base de datos. El nombre de la base de datos es MySQL. Dentro de esa base de datos, la información del usuario está en una tabla, un conjunto de datos, llamado user. Si desea ver qué usuarios están configurados en la tabla de usuarios de MySQL, ejecute el siguiente comando:

SELECT User, Host FROM mysql.user;

+------------------+-----------+
| User             | Host      |
+------------------+-----------+
| root             | localhost |
| root             | demohost  |
| root             | 127.0.0.1 |
| debian-sys-maint | localhost |
|                  | %         |
+------------------+-----------+

23
2017-07-16 03:29



SELECT * FROM mysql.user;

Es una gran mesa, por lo que es posible que desee ser más selectivo en los campos que elija.


20
2018-03-04 06:46



Inicie sesión en mysql como root y escriba la siguiente consulta

select User from mysql.user;

+------+
| User |
+------+
| amon |
| root |
| root |
+------+

16
2017-12-27 20:09



La tabla mysql.db es posiblemente más importante para determinar los derechos de los usuarios. Creo que se crea una entrada en él si menciona una tabla en el comando GRANT. En mi caso, la tabla mysql.users no mostraba permisos para un usuario cuando obviamente era capaz de conectarse y seleccionar, etc.

mysql> select * from mysql.db;
mysql> select * from db;
+---------------+-----------------+--------+-------------+-------------+-------------+--------
| Host          | Db              | User   | Select_priv | Insert_priv | Update_priv | Del...

14
2018-05-05 12:19



Peter y Jesse están en lo correcto, pero solo asegúrate de seleccionar primero el DB de mysql.

use mysql;

select User from mysql.user;

eso debería hacer tu truco


11
2017-11-02 19:01



Utilizo esto para ordenar los usuarios, por lo que los hosts permitidos son más fáciles de detectar:

mysql> SELECT User,Host FROM mysql.user ORDER BY User,Host;

10
2017-09-09 11:12