Domanda

sto usando l'utilità della riga di comando di MySQL e può navigare attraverso una banca dati. Ora ho bisogno di vedere un elenco di account utente. Come posso fare questo?

Sto usando MySQL versione 5.4.1.

È stato utile?

Soluzione

Utilizzare questa query:

SELECT User FROM mysql.user;

Il che emette una tabella come questa:

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

Come Matthew Scharley sottolinea in commenti su questa risposta , è possibile raggruppare in base alla colonna User se si desidera solo per vedere i nomi utente univoci.

Altri suggerimenti

Trovo questo formato il più utile in quanto comprende il campo di accoglienza che è importante in MySQL per distinguere tra i record utente.

select User,Host from mysql.user;

Un account utente comprende il nome utente e l'accesso livello di host.

Quindi, questa è la domanda che dà tutti gli account utente

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

per evitare ripetizioni di utenti quando questi si collegano da origine diversa:

select distinct User from mysql.user;

Se lei si riferisce agli attuali utenti di MySQL, provare:

select User from mysql.user;

MySQL memorizza le informazioni utente nel proprio database. Il nome del database è MySQL. All'interno di quella base di dati, le informazioni utente è in una tabella, un set di dati, di nome user. Se volete vedere ciò che gli utenti sono impostati nella tabella utenti di MySQL, eseguire il seguente comando:

SELECT User, Host FROM mysql.user;

+------------------+-----------+
| User             | Host      |
+------------------+-----------+
| root             | localhost |
| root             | demohost  |
| root             | 127.0.0.1 |
| debian-sys-maint | localhost |
|                  | %         |
+------------------+-----------+
SELECT * FROM mysql.user;

E 'un grande tavolo in modo che si potrebbe desiderare di essere più selettivi su quali campi si sceglie.

Accesso per mysql come root e digitare seguente query

select User from mysql.user;

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

La tabella mysql.db è forse più importante nel determinare i diritti degli utenti. Penso che una voce in esso viene creato se si parla di una tabella nel comando GRANT. Nel mio caso il tavolo mysql.users non ha mostrato autorizzazioni per un utente quando, ovviamente, era in grado di connettersi e selezionare, ecc.

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

Io lo uso per ordinare gli utenti, quindi i padroni di casa sono consentiti più facile da individuare:

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

Peter e Jesse sono corretti, ma solo assicurarsi di selezionare prima il DB MySQL.

use mysql;

select User from mysql.user;

che dovrebbe fare il vostro trucco

Questo visualizza l'elenco di utenti unici:

SELECT DISTINCT User FROM mysql.user;
$>  mysql -u root -p -e 'Select user from mysql.user' > allUsersOnDatabase.txt

L'esecuzione di questo comando sul prompt di linux in primo luogo chiedere la password dell'utente root di MySQL, sul fornire la password corretta stamperà tutti gli utenti del database al file di testo.

Ho trovato il suo uno più utile in quanto fornisce ulteriori informazioni su DML e DDL privilegi

SELECT user, Select_priv, Insert_priv , Update_priv, Delete_priv, 
       Create_priv, Drop_priv, Shutdown_priv, Create_user_priv 
FROM mysql.user;
SELECT User FROM mysql.user;

uso sopra query per ottenere Mysql utenti

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top