sql >> Database teknologi >  >> RDS >> Mysql

Forskellige måder at befolke brugerne af MySQL

Denne artikel forklarer forskellige metoder til at udfylde detaljerne om brugerne i MySQL. Vi kan se listen over brugere ved at bruge en af ​​følgende metoder.

  1. MySQL workbench
  2. MySQL kommandolinjeværktøj.

Miljø S etup

Til demonstration har jeg installeret MySQL Server 8.0 på Windows 10 og oprettet en bruger ved navn NisargU. Kør nedenstående forespørgsel for at oprette en bruger.

mysql> create user NisargU identified by '[email protected]';

Output

Udfør følgende forespørgsel for at give privilegier til NisargU-brugeren.

mysql> Grant ALL on *.* to 'NisargU';

Output

Lad os nu se, hvordan vi kan udfylde listen over brugere ved hjælp af MySQL-kommandolinjeværktøjerne.

Sådan får du vist brugere med MySQL C ommand-L ine T ool

I modsætning til SHOW TABLE har SHOW DATABASES MySQL Server ikke kommandoen SHOW USERS. Vi kan udfylde brugerens detaljer ved at køre forespørgsler på systemtabeller. Lad os se, hvordan vi kan få data fra systemtabellerne.

Eksempel 1. Se alle brugere i MySQL

Vi kan bruge mysql.User tabel for at udfylde listen over brugere, der er oprettet i MySQL-serveren.

Forespørgsel

mysql> select host as `Host Name` ,user as `User Name` from mysql.user;

Output

Bemærk: For at udføre ovenstående forespørgsel på tabellen skal brugeren tildeles en DBA-rolle.

Hvis du ønsker at udfylde flere oplysninger om brugerne, kan du tilføje en kolonne fra mysql.user-tabeller. For at se strukturen af ​​mysql.user-tabellen skal du køre følgende forespørgsel.

Forespørgsel

mysql>DESC mysql.user;

Output

Eksempel 2. Se detaljerne for specifikke brugere

Antag, at vi ønsker at udfylde alle brugeres værtsnavn, brugernavn, adgangskodeudløbsstatus og adgangskodeændringsdato. For at gøre det skal du køre følgende forespørgsel:

mysql> select Host, User, authentication_string ,password_expired, password_last_changed from mysql.user where user='NisargU';

Output

Eksempel 3. Se en aktuel bruger

Antag, at du vil udfylde den bruger, der er tilsluttet MySQL-serveren; du kan bruge user() eller current_user() fungere. Lad os først oprette forbindelse til MySQL-serveren ved hjælp af NisargU bruger.

Forespørgslen om at oprette forbindelse til MySQL:

C:\Users\Nisarg>mysql -u NisargU -p

Output

Forespørgslen for at se brugeren med USER()-funktionen:

mysql> select user() as `Connected User`;

Output

Forespørgslen for at se brugeren med current_user() funktion:

mysql> select current_user() as `Connected User`;

Output

Eksempel 4. Se listen over database- og associerede brugere

For eksempel vil du udfylde listen over databaser og tilknyttede brugere med den. Du kan udfylde oplysningerne ved at forespørge mysql.db tabel.

Forespørgsel:

mysql> SELECT host,db, user FROM mysql.db;

Output:

Hvis du ønsker at udfylde detaljerne for de privilegier, der er tildelt NisargU-brugeren, skal du køre følgende forespørgsel:

mysql> SELECT * FROM mysql.db where user='NisargU' \G;

Produktion

Eksempel 5. Vis brugere, der er forbundet til MySQL Server

Hvis du ønsker at udfylde listen over brugere, der er forbundet til MySQL Server, kan vi køre forespørgslen på information_schema.processlist tabel.

Forespørgsel

mysql> select ID, User, Host, DB, command,time `Query execution time`, state `Query execution status` from information_schema.processlist;

Output

Som du kan se, er der fire brugere forbundet til MySQL-serveren.

Lad os nu se, hvordan vi kan udfylde listen over brugere ved hjælp af MySQL workbench.

Sådan V se P rivileges G udtalte sig til U sers

Vi kan bruge SHOW GRANTS()-funktioner til at udfylde listen over de privilegier, der er givet til de specifikke brugere.

Bemærk: Forespørgselsoutputtet er langt, så jeg har brugt MySQL workbench til at se outputtet.

Antag, at vi ønsker at udfylde de privilegier, der er givet til NisargU-brugeren. For at gøre det skal du køre nedenstående forespørgsel.

mysql> show grants for NisargU;

Output

Lad os se, hvordan vi kan se listen over brugere med deres privilegier ved at bruge MySQL workbench.

Sådan får du vist brugere med MySQL Workbench

Vi kan se detaljerne om brugerne fra MySQL workbench. Åbn MySQL Workbench, og opret forbindelse til serveren ved hjælp af root-login.

Klik på Administration i Navigator Pan fanen. Klik på Brugere og privilegier i sektionen Administration .

I højre rude kan du se listen over de brugere, der er oprettet på MySQL-serveren. For at se deres detaljer skal du vælge en bruger fra listen.

Nu kan du se følgende detaljer om den valgte bruger:

Loginoplysninger

I Login fanen detaljer, kan du se brugerens detaljer, herunder loginnavn, godkendelsestype og godkendelsesstreng.

Kontogrænser

I Kontogrænser fanen, kan du indstille følgende parametre:

  1. Samlet antal forespørgsler, som kontoen kan udføre inden for en time.
  2. Samlet opdateringserklæring, som kontoen kan udføre pr. time.
  3. Et antal gange kan kontoen oprette forbindelse til serveren i timen.
  4. Antallet af samtidige forbindelser til serveren.

I vores tilfælde har vi brugt standardindstillingerne for NisargU bruger.

Administrative roller

I Administrative roller fanen, kan du se de globale privilegier og administrative roller, der er tildelt brugeren. I vores tilfælde har vi givet DBA rolle til NisargU bruger.

Skemaprivilegier

I Skemaprivilegier fanen, kan du se listen over de privilegier, der er givet på den specifikke database til brugeren. I vores demo har vi givet INSERT, UPDATE, DELETE, SELECT, EXECUTE og VIS VISNING roller til NisargU-brugeren på Sakiladb database.

Oversigt

"Hvordan henter man brugerne i MySQL? ” er et meget almindeligt spørgsmål stillet af juniordatabaseadministratorer. I denne artikel har vi udforsket forskellige metoder til at se de brugere, der er oprettet i MySQL-serveren. Vi har lært, hvordan vi kan hente listen ved hjælp af MySQL workbench og MySQL kommandolinjeværktøj.


  1. Adaptiv dynamisk statistik dræber ydeevne i 12.1.0.2 RAC

  2. MySQL Performance Tuning Tips til at optimere databasen

  3. Avanceret partitionsmatchning for partitionsmæssig joinforbindelse

  4. Smukke blokke af kedelplade