In dit artikel worden verschillende methoden uitgelegd om de details van de gebruikers in MySQL in te vullen. We kunnen de lijst met gebruikers bekijken door een van de volgende methoden te gebruiken.
- MySQL-werkbank
- MySQL-opdrachtregelprogramma.
Omgeving S etup
Ter demonstratie heb ik MySQL Server 8.0 op Windows 10 geïnstalleerd en een gebruiker met de naam NisargU gemaakt. Voer de onderstaande query uit om een gebruiker aan te maken.
mysql> create user NisargU identified by '[email protected]';
Uitgang
Voer de volgende vraag uit om privileges toe te kennen aan de NisargU-gebruiker.
mysql> Grant ALL on *.* to 'NisargU';
Uitgang
Laten we nu eens kijken hoe we de lijst met gebruikers kunnen vullen met behulp van de MySQL-opdrachtregelprogramma's.
Gebruikers bekijken met MySQL C ommand-L ine T oel
In tegenstelling tot SHOW TABLE heeft SHOW DATABASES MySQL Server niet de opdracht SHOW USERS. We kunnen de details van de gebruiker invullen door query's uit te voeren op systeemtabellen. Laten we eens kijken hoe we de gegevens uit de systeemtabellen kunnen halen.
Voorbeeld 1. Bekijk alle gebruikers in MySQL
We kunnen mysql.User . gebruiken tabel om de lijst met gebruikers te vullen die in de MySQL-server zijn gemaakt.
Zoekopdracht
mysql> select host as `Host Name` ,user as `User Name` from mysql.user;
Uitvoer
Opmerking: Om de bovenstaande query op de tabel uit te voeren, moet de gebruiker een DBA-rol krijgen.
Als u meer informatie over de gebruikers wilt invullen, kunt u een kolom toevoegen uit mysql.user-tabellen. Voer de volgende query uit om de structuur van de mysql.user-tabel te bekijken.
Zoekopdracht
mysql>DESC mysql.user;
Uitgang
Voorbeeld 2. Bekijk de details van specifieke gebruikers
Stel dat we de hostnaam, gebruikersnaam, de vervalstatus van het wachtwoord en de wijzigingsdatum van het wachtwoord van alle gebruikers willen invullen. Voer hiervoor de volgende query uit:
mysql> select Host, User, authentication_string ,password_expired, password_last_changed from mysql.user where user='NisargU';
Uitvoer
Voorbeeld 3. Een huidige gebruiker bekijken
Stel dat u de gebruiker wilt invullen die is verbonden met de MySQL-server; u kunt de gebruiker() . gebruiken of current_user() functie. Laten we eerst verbinding maken met de MySQL-server met behulp van NisargU gebruiker.
De vraag om verbinding te maken met MySQL:
C:\Users\Nisarg>mysql -u NisargU -p
Uitvoer
De vraag om de gebruiker te bekijken met de USER()-functie:
mysql> select user() as `Connected User`;
Uitvoer
De vraag om de gebruiker te bekijken met de current_user() functie:
mysql> select current_user() as `Connected User`;
Uitvoer
Voorbeeld 4. Bekijk de lijst met database- en geassocieerde gebruikers
U wilt bijvoorbeeld de lijst met databases en bijbehorende gebruikers ermee vullen. U kunt de informatie invullen door mysql.db . op te vragen tafel.
Vraag:
mysql> SELECT host,db, user FROM mysql.db;
Uitgang:
Als u de details wilt invullen van de privileges die aan de NisargU-gebruiker zijn toegewezen, voert u de volgende query uit:
mysql> SELECT * FROM mysql.db where user='NisargU' \G;
Uitgang:
Voorbeeld 5. Toon gebruikers verbonden met MySQL Server
Als u de lijst wilt vullen met gebruikers die zijn verbonden met MySQL Server, kunnen we de query uitvoeren op de information_schema.processlist tafel.
Zoekopdracht
mysql> select ID, User, Host, DB, command,time `Query execution time`, state `Query execution status` from information_schema.processlist;
Uitvoer
Zoals u kunt zien, zijn er vier gebruikers verbonden met de MySQL-server.
Laten we nu eens kijken hoe we de lijst met gebruikers kunnen vullen met behulp van de MySQL-werkbank.
Hoe te V zie de P rivieren G tegen U sers
We kunnen de functies SHOW GRANTS() gebruiken om de lijst met privileges die aan de specifieke gebruikers zijn verleend, te vullen.
Opmerking: De uitvoer van de query is lang, dus ik heb MySQL-werkbank gebruikt om de uitvoer te bekijken.
Stel dat we de privileges willen invullen die aan de NisargU-gebruiker zijn verleend. Voer hiervoor de onderstaande query uit.
mysql> show grants for NisargU;
Uitvoer
Laten we eens kijken hoe we de lijst met gebruikers met hun privileges kunnen bekijken met behulp van MySQL-workbench.
Gebruikers bekijken met MySQL Workbench
We kunnen de details van de gebruikers bekijken vanuit de MySQL-werkbank. Open MySQL Workbench en maak verbinding met de server met behulp van de root-login.
Klik in Navigator Pan op Beheer tabblad. Klik in het gedeelte Beheer op Gebruikers en rechten .
In het rechterdeelvenster ziet u de lijst met gebruikers die op de MySQL-server zijn gemaakt. Selecteer een gebruiker uit de lijst om hun gegevens te bekijken.
U kunt nu de volgende details van de geselecteerde gebruiker bekijken:
Inloggegevens
In de Inloggen tabblad details, kunt u de details van de gebruiker bekijken, inclusief inlognaam, authenticatietype en authenticatiereeks.
Accountlimieten
In de Accountlimieten tabblad kunt u de volgende parameters instellen:
- Het totale aantal zoekopdrachten dat het account binnen een uur kan uitvoeren.
- Totaal update-overzicht dat het account per uur kan uitvoeren.
- Een aantal keren kan het account per uur verbinding maken met de server.
- Het aantal gelijktijdige verbindingen met de server.
In ons geval hebben we de standaardinstellingen gebruikt voor de NisargU gebruiker.
Administratieve rollen
In de Administratieve rollen tabblad kunt u de globale privileges en beheerdersrollen bekijken die aan de gebruiker zijn toegewezen. In ons geval hebben we de DBA . verleend rol voor de NsargU gebruiker.
Schemarechten
In de Schemarechten tabblad, kunt u de lijst bekijken van de privileges die op de specifieke database aan de gebruiker zijn verleend. In onze demo hebben we INSERT, UPDATE, DELETE, SELECT, EXECUTE toegestaan en SHOW VIEW rollen aan de NisargU-gebruiker op de Sakiladb database.
Samenvatting
"Hoe de gebruikers op te halen in MySQL? ” is een veel voorkomende vraag van junior databasebeheerders. In dit artikel hebben we verschillende methoden onderzocht om de gebruikers te bekijken die in de MySQL Server zijn gemaakt. We hebben geleerd hoe we de lijst kunnen ophalen met MySQL workbench en MySQL command-line tool.