¿Cómo puedo obtener una lista de cuentas de usuario usando la línea de comando en 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 MySQL versión 5.4.1.
Utilice esta consulta:
SELECT User FROM mysql.user;
Lo que generará una tabla como esta:
+-------+
| User |
+-------+
| root |
+-------+
| user2 |
+-------+
Como señala Matthew Scharley en los comentarios sobre esta respuesta , puede agrupar por User
columna si solo desea ver nombres de usuario únicos.
Este formato me parece el más útil ya que incluye el campo host, que es importante en MySQL para distinguir entre registros de usuarios.
select User,Host from mysql.user;
Una cuenta de usuario comprende el nombre de usuario y el acceso a nivel de host.
Por tanto, esta es la consulta que dan todas las cuentas de usuario.
SELECT CONCAT(QUOTE(user),'@',QUOTE(host)) UserAccount FROM mysql.user;
Para evitar repeticiones de usuarios cuando se conectan desde diferente origen:
select distinct User from mysql.user;
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 |
| | % |
+------------------+-----------+