Android

Hogyan lehet megjeleníteni / listázni a felhasználókat a mysql-ben

Gigaset A120 DECT vezeték nélküli telefon

Gigaset A120 DECT vezeték nélküli telefon

Tartalomjegyzék:

Anonim

Előfordult már, hogy be kell szereznie a MySQL szerver összes felhasználójának listáját? Parancsok vannak az adatbázisok és táblák megjelenítésére, de nincs MySQL show users parancs.

Ez az oktatóanyag elmagyarázza, hogyan kell a parancssoron felsorolni a MySQL adatbázis-kiszolgáló összes felhasználói fiókját. Megmutatjuk azt is, hogy megtudhatja, mely felhasználók férhetnek hozzá egy adott adatbázishoz.

Mielőtt elkezded

Feltételezzük, hogy a MySQL vagy a MariaDB szerver már telepítve van a rendszerén.

Az összes parancsot a MySQL héjában, root felhasználóként hajtjuk végre. A MySQL parancsértelmező eléréséhez írja be a következő parancsot, és kérje meg a MySQL gyökér felhasználói jelszavát:

mysql -u root -p Ha elfelejtette MySQL gyökérjelszavát, az alábbi utasítások követésével visszaállíthatja azt.

Az összes MySQL felhasználó megjelenítése

A MySQL a felhasználókkal kapcsolatos információkat a mysql adatbázisban egy user nevű táblában tárolja.

Az összes MySQL felhasználói fiók listájának megtekintéséhez használja a SELECT utasítást az összes sor lekéréséhez a mysql.users táblából:

SELECT User, Host FROM mysql.user;

A kimenetnek az alábbiak szerint kell kinéznie:

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

A fenti parancs csak a két oszlopot mutatja a mysql.user táblából ( User és Host ). Ez a táblázat több mint 40 oszlopot tartalmaz, például Password , Select_priv , Update_priv stb.

A MySQL felhasználói fiókja két részből áll: felhasználónévből és gazdagépnévből.

Használja a desc mysql.user; utasítás a táblázat oszlopaival kapcsolatos információk megjelenítéséhez. Miután megismerte az oszlop nevét, lekérdezést futtathat a kiválasztott adatokkal szemben.

Például az összes MySQL felhasználói fiók listájának megtekintéséhez, beleértve a jelszó és az aktív vagy lejárt jelszóval kapcsolatos információkat, a következő lekérdezést használja:

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)

Mutassa meg azokat a felhasználókat, akik hozzáférhetnek egy adott adatbázishoz

Az adatbázis-szintű jogosultságokkal kapcsolatos információkat a mysql.db táblázat tartalmazza.

A táblából lekérdezheti, hogy megtudja, mely felhasználók férhetnek hozzá egy adott adatbázishoz, és a jogosultságok szintje.

Például, ha egy listát szeretne kapni azokról a felhasználókról, akik valamilyen szintű hozzáféréssel rendelkeznek a db_name nevű adatbázishoz, akkor a következő lekérdezést használja:

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)

Csak az adott adatbázishoz hozzáféréssel rendelkező felhasználói fiókok adatainak lekérése a következő jogosultságok megjelenítése nélkül:

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

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

A következő lekérdezés információkat tartalmaz az összes adatbázisról és a kapcsolódó felhasználókról:

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

Következtetés

Ebben az oktatóanyagban megmutattuk, hogyan lehet összes MySQL felhasználót felsorolni, és megtudhatja, mely felhasználók férhetnek hozzá egy adott adatbázishoz.

Ha bármilyen kérdése van, nyugodtan írjon megjegyzést.

mysql mariadb