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 MySQL 5.4.1
.
mysql
command-line
mysql5
azúcar quemada
fuente
fuente
Respuestas:
Use esta consulta:
Lo que generará una tabla como esta:
Como Matthew Scharley señala en los comentarios sobre esta respuesta , puede agrupar por
User
columna si solo desea ver nombres de usuario únicos.fuente
User
para obtener valores de usuario únicos, ya que hay una fila separada para cada entradauser
@host
.DELETE FROM mysql.user;
mejor tenerWHERE user='someuser' and host='somehost';
Si lo haceDELETE FROM mysql.user;
, todos los usuarios se han ido. Inicia sesión después del siguiente reinicio de mysql oFLUSH PRIVILEGES;
elimina usuarios de la memoria. Aquí hay un ejemplo de una de mis publicaciones sobre cómo hacer de maneraDELETE FROM mysql.user
responsable: dba.stackexchange.com/questions/4614/…SHOW GRANTS FOR 'user'@'host';
DISTINCT
palabra clave:SELECT DISTINCT user FROM mysql.user;
Considero que este formato es el más útil, ya que incluye el campo host que es importante en MySQL para distinguir entre registros de usuario.
fuente
host
en juego cuando trabaje con bases de datos mysql? [Mysql Noob]host
entra en juego cuando te conectas desde un servidor diferente. Es posible otorgar acceso diferente a'packer'@'example.com'
y'packer'@'google.com'
Una cuenta de usuario comprende el nombre de usuario y el acceso a nivel de host.
Por lo tanto, esta es la consulta que da todas las cuentas de usuario
fuente
user@host
formato se usa para configurar contraseñas. Omitir el host delSET PASSWORD
comando produce un error.SET PASSWORD FOR wordpressuser = PASSWORD('...');
produce el errorERROR 1133 (42000): Can't find any matching row in the user table
. Incluya el host y funciona.SET PASSWORD FOR wordpressuser@localhost = PASSWORD('...');
produceQuery OK, 0 rows affected (0.00 sec)
.ORDER BY user
.para evitar repeticiones de usuarios cuando se conectan desde un origen diferente:
fuente
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, llamadouser
. Si desea ver qué usuarios están configurados en la tabla de usuarios de MySQL, ejecute el siguiente comando:fuente
Si se refiere a los usuarios reales de MySQL, intente:
fuente
Es una tabla grande, por lo que es posible que desee ser más selectivo en los campos que elija.
fuente
localhost
,127.0.0.1
Y::1
. ¿Cuál debo conservar y qué debo eliminar? ¡Gracias!Inicie sesión en mysql como root y escriba la siguiente consulta
fuente
GRANT SELECT ON mysql.user TO 'user1'@'localhost';
ahora inicie sesión como user1 y escriba commandselect User from mysql.user;
Verá la lista de usuarios mostrada. :) +1 DisfrutaLa tabla mysql.db es posiblemente más importante para determinar los derechos del usuario. Creo que se crea una entrada si menciona una tabla en el comando GRANT. En mi caso, la tabla mysql.users no mostró permisos para un usuario cuando obviamente pudo conectarse y seleccionar, etc.
fuente
Lo uso para ordenar a los usuarios, por lo que los hosts permitidos son más fáciles de detectar:
fuente
Peter y Jesse están en lo correcto, pero solo asegúrese de seleccionar primero la base de datos mysql.
use mysql;
select User from mysql.user;
eso debería hacer tu truco
fuente
use mysql;
en caso de que alcance la tabla a la base de datos mysql como lo hizo. Puedes simplementeselect User from mysql.user;
use mysql;
es sólo para que pueda utilizarselect User from user;
en su lugarselect User from mysql.user;
, ya que es por lo general una consulta una vez, no hay necesidad de usar la base de datos mysqluse mysql
si lo hubiera usado,select user from user;
podría haber sido algo, pero en su lugar lo está usandomysql.user
, lo que hace que el usouse mysql
al principio sea innecesario.Esto muestra la lista de usuarios únicos:
fuente
Ejecutar este comando en el indicador de Linux primero pedirá la contraseña del usuario root de mysql, al proporcionar la contraseña correcta imprimirá todos los usuarios de la base de datos en el archivo de texto.
fuente
Encontré el suyo más útil ya que proporciona información adicional sobre los privilegios DML y DDL
fuente
use la consulta anterior para obtener usuarios de Mysql
fuente