sql >> Databasteknik >  >> RDS >> Mysql

Olika sätt att fylla MySQL-användare

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.

  1. MySQL-arbetsbänk
  2. 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:

  1. Totalt antal frågor som kontot kan utföra inom en timme.
  2. Totalt uppdateringsutdrag som kontot kan köra per timme.
  3. Ett antal gånger kan kontot ansluta till servern per timme.
  4. 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.


  1. Hur man exporterar data från SQL Server 2005 till MySQL

  2. Oracle Sök efter sträng i alla tabeller, alla kolumner

  3. En omfattande guide om hur du använder MySQL

  4. Oracles återgång till användning i Java (JDBC, Prepared Statement)