Questo articolo spiega diversi metodi per popolare i dettagli degli utenti in MySQL. Possiamo visualizzare l'elenco degli utenti utilizzando uno dei seguenti metodi.
- Ambiente di lavoro MySQL
- Strumento da riga di comando MySQL.
Ambiente S configurazione
A scopo dimostrativo, ho installato MySQL Server 8.0 su Windows 10 e ho creato un utente chiamato NisargU. Esegui la query seguente per creare un utente.
mysql> create user NisargU identified by '[email protected]';
Uscita
Eseguire la query seguente per concedere i privilegi all'utente NisargU.
mysql> Grant ALL on *.* to 'NisargU';
Uscita
Ora, vediamo come possiamo popolare l'elenco degli utenti utilizzando gli strumenti della riga di comando di MySQL.
Come visualizzare gli utenti con MySQL C ommand-L in T vero
A differenza di SHOW TABLE, SHOW DATABASES MySQL Server non ha il comando SHOW USERS. Possiamo popolare i dettagli dell'utente eseguendo query sulle tabelle di sistema. Vediamo come possiamo ottenere i dati dalle tabelle di sistema.
Esempio 1. Visualizza tutti gli utenti in MySQL
Possiamo usare mysql.User tabella per popolare l'elenco degli utenti creati nel server MySQL.
Interroga
mysql> select host as `Host Name` ,user as `User Name` from mysql.user;
Risultato
Nota: Per eseguire la query precedente sulla tabella, all'utente deve essere concesso un ruolo DBA.
Se vuoi popolare più informazioni sugli utenti, puoi aggiungere una colonna dalle tabelle mysql.user. Per visualizzare la struttura della tabella mysql.user, eseguire la query seguente.
Interroga
mysql>DESC mysql.user;
Uscita
Esempio 2. Visualizza i dettagli di utenti specifici
Supponiamo di voler compilare il nome host, il nome utente, lo stato di scadenza della password e la data di modifica della password di tutti gli utenti. Per farlo, esegui la seguente query:
mysql> select Host, User, authentication_string ,password_expired, password_last_changed from mysql.user where user='NisargU';
Risultato
Esempio 3. Visualizza un utente corrente
Supponiamo di voler popolare l'utente connesso al server MySQL; puoi usare utente() o utente_corrente() funzione. Innanzitutto, connettiamoci al server MySQL utilizzando NisargU utente.
La query per connettersi a MySQL:
C:\Users\Nisarg>mysql -u NisargU -p
Risultato
La query per visualizzare l'utente con la funzione USER():
mysql> select user() as `Connected User`;
Risultato
La query per visualizzare l'utente con current_user() funzione:
mysql> select current_user() as `Connected User`;
Risultato
Esempio 4. Visualizza l'elenco degli utenti del database e associati
Ad esempio, si desidera popolare l'elenco dei database e degli utenti associati con esso. Puoi compilare le informazioni eseguendo una query su mysql.db tabella.
Domanda:
mysql> SELECT host,db, user FROM mysql.db;
Uscita:
Se vuoi popolare i dettagli dei privilegi assegnati all'utente NisargU, esegui la seguente query:
mysql> SELECT * FROM mysql.db where user='NisargU' \G;
Produzione
Esempio 5. Mostra gli utenti connessi a MySQL Server
Se vuoi popolare l'elenco degli utenti collegati a MySQL Server, possiamo eseguire la query su information_schema.processlist tabella.
Interroga
mysql> select ID, User, Host, DB, command,time `Query execution time`, state `Query execution status` from information_schema.processlist;
Risultato
Come puoi vedere, ci sono quattro utenti connessi al server MySQL.
Ora, vediamo come possiamo popolare l'elenco degli utenti utilizzando l'ambiente di lavoro MySQL.
Come V isualizzare la P riviglie G inveito a U ser
Possiamo utilizzare le funzioni SHOW GRANTS() per popolare l'elenco dei privilegi concessi agli utenti specifici.
Nota: L'output della query è lungo, quindi ho utilizzato l'ambiente di lavoro MySQL per visualizzare l'output.
Supponiamo di voler popolare i privilegi concessi all'utente NisargU. Per farlo, esegui la query seguente.
mysql> show grants for NisargU;
Risultato
Vediamo come possiamo visualizzare l'elenco degli utenti con i loro privilegi utilizzando MySQL workbench.
Come visualizzare gli utenti con MySQL Workbench
Possiamo visualizzare i dettagli degli utenti dall'ambiente di lavoro MySQL. Apri MySQL Workbench e connettiti al server utilizzando il login di root.
In Navigator Pan, fai clic su Amministrazione scheda. Nella sezione Gestione, fai clic su Utenti e privilegi .
Nel riquadro di destra puoi vedere l'elenco degli utenti creati su MySQL Server. Per visualizzarne i dettagli, seleziona qualsiasi utente dall'elenco.
Ora puoi visualizzare i seguenti dettagli dell'utente selezionato:
Dettagli di accesso
Nel Accesso scheda dettagli, puoi visualizzare i dettagli dell'utente, inclusi nome di accesso, tipo di autenticazione e stringa di autenticazione.
Limiti dell'account
Nei Limiti dell'account scheda, puoi impostare i seguenti parametri:
- Le query totali che l'account può eseguire entro un'ora.
- Rendiconto di aggiornamento totale che l'account può eseguire ogni ora.
- Un numero di volte all'ora l'account può connettersi al server.
- Il numero di connessioni simultanee al server.
Nel nostro caso, abbiamo utilizzato le impostazioni predefinite per NisargU utente.
Ruoli amministrativi
Nei Ruoli amministrativi scheda, è possibile visualizzare i privilegi globali e i ruoli amministrativi assegnati all'utente. Nel nostro caso, abbiamo concesso il DBA ruolo nel NisargU utente.
Privilegi dello schema
Nei privilegi dello schema scheda, è possibile visualizzare l'elenco dei privilegi concessi all'utente sul database specifico. Nella nostra demo, abbiamo concesso INSERT, UPDATE, DELETE, SELECT, EXECUTE e MOSTRA VISUALIZZA ruoli all'utente NisargU su Sakiladb banca dati.
Riepilogo
"Come recuperare gli utenti in MySQL? ” è una domanda molto comune posta dagli amministratori di database junior. In questo articolo, abbiamo esplorato diversi metodi per visualizzare gli utenti creati nel server MySQL. Abbiamo imparato come recuperare l'elenco utilizzando il workbench MySQL e lo strumento da riga di comando MySQL.