Den här artikeln förklarar olika metoder för att fylla i uppgifterna om användarna i MySQL. Vi kan se listan över användare genom att använda någon av följande metoder.
- MySQL-arbetsbänk
- MySQL kommandoradsverktyg.
Miljö S etup
För demonstration har jag installerat MySQL Server 8.0 på Windows 10 och skapat en användare som heter NisargU. Kör frågan nedan för att skapa en användare.
mysql> create user NisargU identified by '[email protected]';
Utdata

Kör följande fråga för att ge privilegier till NisargU-användaren.
mysql> Grant ALL on *.* to 'NisargU';
Utdata

Låt oss nu se hur vi kan fylla i listan över användare med MySQL kommandoradsverktyg.
Så här ser du användare med MySQL C ommand-L ine T ool
Till skillnad från SHOW TABLE, har SHOW DATABASES MySQL Server inte kommandot SHOW USERS. Vi kan fylla i användarens uppgifter genom att köra frågor på systemtabeller. Låt oss se hur vi kan hämta data från systemtabellerna.
Exempel 1. Visa alla användare i MySQL
Vi kan använda mysql.User tabell för att fylla i listan över användare som skapats i MySQL-servern.
Fråga
mysql> select host as `Host Name` ,user as `User Name` from mysql.user;
Utdata

Obs! För att utföra ovanstående fråga i tabellen måste användaren tilldelas en DBA-roll.
Om du vill fylla i mer information om användarna kan du lägga till en kolumn från mysql.user-tabeller. För att se strukturen för mysql.user-tabellen, kör följande fråga.
Fråga
mysql>DESC mysql.user;
Utdata

Exempel 2. Se detaljerna för specifika användare
Anta att vi vill fylla i alla användares värdnamn, användarnamn, lösenords utgångsstatus och lösenordsändringsdatum. För att göra det, kör följande fråga:
mysql> select Host, User, authentication_string ,password_expired, password_last_changed from mysql.user where user='NisargU';
Utdata

Exempel 3. Visa en aktuell användare
Anta att du vill fylla i användaren som är ansluten till MySQL-servern; du kan använda user() eller current_user() fungera. Låt oss först ansluta till MySQL-servern med NisargU användare.
Frågan för att ansluta till MySQL:
C:\Users\Nisarg>mysql -u NisargU -p
Utdata

Frågan för att visa användaren med USER()-funktionen:
mysql> select user() as `Connected User`;
Utdata

Frågan för att visa användaren med current_user() funktion:
mysql> select current_user() as `Connected User`;
Utdata

Exempel 4. Visa listan över databas- och associerade användare
Till exempel vill du fylla i listan över databaser och associerade användare med den. Du kan fylla i informationen genom att fråga mysql.db bord.
Fråga:
mysql> SELECT host,db, user FROM mysql.db;
Utdata:

Om du vill fylla i detaljerna om de privilegier som tilldelats NisargU-användaren, kör följande fråga:
mysql> SELECT * FROM mysql.db where user='NisargU' \G;
Produktion

Exempel 5. Visa användare som är anslutna till MySQL Server
Om du vill fylla i listan över användare som är anslutna till MySQL Server kan vi köra frågan på information_schema.processlist bord.
Fråga
mysql> select ID, User, Host, DB, command,time `Query execution time`, state `Query execution status` from information_schema.processlist;
Utdata

Som du kan se är det fyra användare anslutna till MySQL-servern.
Låt oss nu se hur vi kan fylla i listan över användare som använder MySQL-arbetsbänken.
Hur man V se P rivileges G gnällde till U sers
Vi kan använda SHOW GRANTS()-funktioner för att fylla i listan över de privilegier som beviljats de specifika användarna.
Obs! Frågeutmatningen är lång, så jag har använt MySQL-arbetsbänken för att se utmatningen.
Anta att vi vill fylla i de privilegier som beviljats NisargU-användaren. För att göra det, kör nedanstående fråga.
mysql> show grants for NisargU;
Utdata

Låt oss se hur vi kan se listan över användare med deras privilegier genom att använda MySQL-arbetsbänken.
Så här ser du användare med MySQL Workbench
Vi kan se detaljerna om användarna från MySQL-arbetsbänken. Öppna MySQL Workbench och anslut till servern med rotinloggningen.

I Navigator Pan, klicka på Administration flik. I avsnittet Hantering klickar du på Användare och rättigheter .

I den högra rutan kan du se listan över användare som skapats på MySQL-servern. För att se deras uppgifter, välj valfri användare från listan.

Nu kan du se följande information om den valda användaren:
Inloggningsuppgifter
I Logga in informationsfliken kan du se användarens uppgifter, inklusive inloggningsnamn, autentiseringstyp och autentiseringssträng.

Kontogränser
I Kontogränser fliken kan du ställa in följande parametrar:
- Totalt antal frågor som kontot kan utföra inom en timme.
- Totalt uppdateringsutdrag som kontot kan köra per timme.
- Ett antal gånger kan kontot ansluta till servern per timme.
- Antalet samtidiga anslutningar till servern.
I vårt fall har vi använt standardinställningarna för NisargU användare.

Administrativa roller
I Administrativa roller fliken kan du se de globala privilegier och administrativa roller som tilldelats användaren. I vårt fall har vi beviljat DBA roll till NisargU användare.

Schemaprivilegier
I Schemaprivilegier fliken kan du se listan över de privilegier som beviljats för den specifika databasen till användaren. I vår demo har vi beviljat INSERT, UPDATE, DELETE, SELECT, EXECUTE och VISA VY roller till NisargU-användaren på Sakiladb databas.

Sammanfattning
"Hur hämtar man användarna i MySQL? ” är en mycket vanlig fråga som ställs av juniora databasadministratörer. I den här artikeln har vi utforskat olika metoder för att se användarna som skapats i MySQL-servern. Vi har lärt oss hur vi kan hämta listan med MySQL workbench och MySQL kommandoradsverktyg.