Android

Kako prikazati / popisati korisnike u mysql-u

Contain Yourself: An Intro to Docker and Containers by Nicola Kabar and Mano Marks

Contain Yourself: An Intro to Docker and Containers by Nicola Kabar and Mano Marks

Sadržaj:

Anonim

Jeste li ikada trebali dobiti popis svih korisnika na vašem MySQL poslužitelju? Postoje naredbe za prikaz baza podataka i tablica, ali ne postoji naredba MySQL show users .

Ovaj tutorial objašnjava kako na popisu svih korisničkih računa na poslužitelju MySQL baze podataka kroz naredbeni redak. Također ćemo vam pokazati kako saznati koji korisnici imaju pristup određenoj bazi podataka.

Prije nego što počneš

Pretpostavljamo da na vašem sustavu već imate instaliran MySQL ili MariaDB poslužitelj.

Sve naredbe izvršavaju se unutar MySQL ljuske kao korijenski korisnik. Za pristup MySQL školjci upišite sljedeću naredbu i po upisu unesite korisničku lozinku MySQL korijena:

mysql -u root -p Ako ste zaboravili lozinku za korijen MySQL, možete je resetirati slijedeći ove upute.

Prikaži sve korisnike MySQL-a

MySQL pohranjuje podatke o korisnicima u tablicu s imenom user u mysql bazu podataka.

Da biste dobili popis svih MySQL korisničkih računa, upotrijebite izraz SELECT da biste preuzeli sve retke iz tablice mysql.users :

SELECT User, Host FROM mysql.user;

Izlaz bi trebao izgledati slično dolje:

+------------------+-----------+ | user | host | +------------------+-----------+ | root | localhost | | luke | % | | yoda | % | | jabba | 10.10.0.6 | | jabba | 10.10.0.9 | | chewbacca | localhost | | leia | localhost | | han | localhost | +------------------+-----------+ 8 rows in set (0.00 sec)

Gornja naredba prikazuje samo dva stupca iz tablice mysql.user ( User i Host ), Ova tablica sadrži više od 40 stupaca, poput Password , Select_priv , Update_priv itd.

Korisnički račun u MySQL sastoji se od dva dijela: korisničko ime i ime računala.

Upotrijebite desc mysql.user; izjava za prikaz informacija o stupcima tablice. Nakon što saznate naziv stupca, možete pokrenuti upit protiv odabranih podataka.

Na primjer, da biste dobili popis svih MySQL korisničkih računa, uključujući podatke o lozinci i je li aktivna ili je istekla, upotrijebite sljedeći upit:

SELECT User, Host, Password, password_expired FROM mysql.user;

+----------------+-----------+-------------------------------------------+------------------+ | User | Host | Password | password_expired | +----------------+-----------+-------------------------------------------+------------------+ | root | localhost | | N | | luke | % | *ADC3B5B27617732CD6320A2DA976258E149A7EC8 | N | | yoda | % | *9550E004046348198A143A115550E1262209FB6F | N | | jabba | 10.10.0.6 | *F91C86B486B945C083B61A05FF6E197560D187EC | Y | | jabba | 10.10.0.9 | | Y | | chewbacca | localhost | *17F2B1E48029294841AD66772BEBB7E6E6A005AF | N | | leia | localhost | *74409C8DB55AC1A6829D801915981C46EDBFC64A | N | | han | localhost | *7B3022FCAEC3534CE67C68322D8AF0C240D95745 | N | +----------------+-----------+-------------------------------------------+------------------+ 8 rows in set (0.00 sec)

Pokažite korisnicima koji imaju pristup određenoj bazi podataka

Podaci o povlasticama na razini baze podataka pohranjuju se u tablicu mysql.db .

Možete pogledati tablicu da biste saznali koji korisnici imaju pristup određenoj bazi podataka i razini privilegija.

Na primjer, da biste dobili popis svih korisnika koji imaju neki pristup razini baze podataka db_name , upotrijebili biste sljedeći upit:

SELECT * FROM mysql.db WHERE Db = 'db_name'\G;

*************************** 1. row *************************** Host: localhost Db: db_name User: db_user Select_priv: Y Insert_priv: Y Update_priv: Y Delete_priv: Y Create_priv: Y Drop_priv: Y Grant_priv: N References_priv: Y Index_priv: Y Alter_priv: Y Create_tmp_table_priv: Y Lock_tables_priv: Y Create_view_priv: Y Show_view_priv: Y Create_routine_priv: Y Alter_routine_priv: Y Execute_priv: Y Event_priv: Y Trigger_priv: Y 1 row in set (0.00 sec)

Da biste dohvatili informacije samo o korisničkim računima koji imaju pristup datoj bazi podataka, bez prikazivanja privilegija:

SELECT db, host, user FROM mysql.db WHERE db = 'db_name'

+---------+-----------+---------+ | db | host | user | +---------+-----------+---------+ | db_name | localhost | db_user | +---------+-----------+---------+

Sljedeći upit prikazat će vam informacije o svim bazama podataka i povezanim korisnicima:

SELECT db, host, user FROM mysql.db WHERE db = 'db_name'

+------------------+-----------+-----------+ | db | host | user | +------------------+-----------+-----------+ | db_name | localhost | db_user | | ghost_production | localhost | chewbacca | | blog_db | localhost | leia | | linuxize | localhost | han | +------------------+-----------+-----------+

Zaključak

U ovom smo vodiču pokazali kako dobiti popis svih korisnika MySQL-a i otkriti koji korisnici imaju pristup određenoj bazi podataka.

Slobodno ostavite komentar ako imate bilo kakvih pitanja.

mysql mariadb