Android

Cum se afișează / listează utilizatorii din mysql

Как установить MySQL в Windows 10

Как установить MySQL в Windows 10

Cuprins:

Anonim

Ați avut vreodată nevoie pentru a obține o listă cu toți utilizatorii de pe serverul MySQL? Există comenzi pentru afișarea bazelor de date și a tabelelor, dar nu există nici o comandă MySQL show users .

Acest tutorial explică cum să enumerați toate conturile de utilizator dintr-un server de baze de date MySQL prin intermediul liniei de comandă. Vă vom arăta și modul în care aflați ce utilizatori au acces la o bază de date dată.

Înainte de a începe

Presupunem că deja aveți serverul MySQL sau MariaDB instalat pe sistemul dvs.

Toate comenzile sunt executate în interiorul shell-ului MySQL ca utilizator root. Pentru a accesa shell-ul MySQL, tastați următoarea comandă și introduceți parola de utilizator root MySQL atunci când vi se solicită:

mysql -u root -p Dacă ați uitat parola rădăcină MySQL, o puteți reseta urmând aceste instrucțiuni.

Afișați toți utilizatorii MySQL

MySQL stochează informații despre utilizatorii dintr-un tabel numit user în baza de date mysql .

Pentru a obține o listă cu toate conturile de utilizator MySQL, utilizați SELECT pentru a prelua toate rândurile din tabela mysql.users :

SELECT User, Host FROM mysql.user;

Produsul ar trebui să arate similar cu mai jos:

+------------------+-----------+ | 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)

Comanda de mai sus arată doar două coloane din tabelul mysql.user ( User și Host ), Acest tabel conține mai mult de 40 de coloane precum Password , Select_priv , Update_priv etc.

Un cont de utilizator în MySQL constă din două părți: un nume de utilizator și un nume de gazdă.

Folosiți desc mysql.user; instrucțiune pentru a afișa informații despre coloanele tabelului. După ce cunoașteți numele coloanei, puteți rula o interogare împotriva unei date selectate.

De exemplu, pentru a obține o listă cu toate conturile utilizatorilor MySQL, inclusiv informații despre parola și dacă este activă sau expirată, ar trebui să utilizezi următoarea întrebare:

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)

Afișați utilizatorilor care au acces la o bază de date particulară

Informațiile despre privilegiile la nivel de bază de date sunt stocate în tabelul mysql.db .

Puteți să consultați tabelul pentru a afla ce utilizatori au acces la o bază de date dată și nivelul privilegiilor.

De exemplu, pentru a obține o listă cu toți utilizatorii care au un nivel de acces la baza de date numită db_name ar trebui să utilizați următoarea interogare:

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)

Pentru a obține informații numai despre conturile de utilizator care au acces la o bază de date dată, fără a afișa privilegiile de utilizare:

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

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

Următoarea interogare vă va oferi informații despre toate bazele de date și utilizatorii asociați:

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 | +------------------+-----------+-----------+

Concluzie

În acest tutorial, am arătat cum să obținem o listă cu toți utilizatorii MySQL și să aflăm ce utilizatori au acces la o anumită bază de date.

Simțiți-vă liber să lăsați un comentariu dacă aveți întrebări.

mysql mariadb