Android

Kuinka näyttää / listata käyttäjiä mysqlissa

PHP Syntax

PHP Syntax

Sisällysluettelo:

Anonim

Oletko koskaan tarvinnut saada luetteloa kaikista MySQL-palvelimesi käyttäjistä? Tietokantojen ja taulukoiden näyttämiseen on komentoja, mutta MySQL show users -komentoa ei ole.

Tämä opetusohjelma selittää, kuinka luetteloidaan kaikki MySQL-tietokantapalvelimen käyttäjätilit komentorivin kautta. Näytämme myös, kuinka selville, millä käyttäjillä on pääsy tiettyyn tietokantaan.

Ennen kuin aloitat

Oletetaan, että sinulla on jo MySQL- tai MariaDB-palvelin asennettuna järjestelmään.

Kaikki komennot suoritetaan MySQL-kuoren sisällä pääkäyttäjänä. MySQL-kuoren käyttämiseksi kirjoita seuraava komento ja kirjoita MySQL-pääkäyttäjän salasana, kun sitä pyydetään:

mysql -u root -p Jos olet unohtanut MySQL-pääsalasanasi, voit palauttaa sen noudattamalla näitä ohjeita.

Näytä kaikki MySQL-käyttäjät

MySQL tallentaa tietoja käyttäjistä nimeltään taulukkoon mysql tietokantaan.

Jos haluat saada luettelon kaikista MySQL-käyttäjätilistä, käytä SELECT käskyä hakeaksesi kaikki rivit mysql.users taulukosta:

SELECT User, Host FROM mysql.user;

Lähtön tulisi näyttää samanlaiselta kuin alla:

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

Yllä oleva komento näyttää vain kaksi saraketta mysql.user taulukosta ( User ja Host ). Tämä taulukko sisältää yli 40 saraketta, kuten Password , Select_priv , Update_priv jne.

MySQL: n käyttäjätili koostuu kahdesta osasta: käyttäjänimi ja isäntänimi.

Käytä desc mysql.user; lauseke, jolla näytetään tiedot taulukon sarakkeista. Kun tiedät sarakkeen nimen, voit suorittaa kyselyn valittuja tietoja vastaan.

Esimerkiksi, jos haluat saada luettelon kaikista MySQL-käyttäjätilistä, mukaan lukien tiedot salasanasta ja siitä, onko se aktiivinen vai vanhentunut, käytä seuraavaa kyselyä:

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)

Näytä käyttäjät, joilla on pääsy tiettyyn tietokantaan

Tiedot tietokantatason oikeuksista tallennetaan mysql.db taulukkoon.

Voit kysyä taulukosta saadaksesi selville, millä käyttäjillä on pääsy annettuun tietokantaan ja käyttöoikeuksien taso.

Esimerkiksi, jos haluat saada luettelon kaikista käyttäjistä, joilla on jonkin verran pääsyä tietokantaan db_name käyttäisit seuraavaa kyselyä:

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)

Tietojen hakeminen vain niistä käyttäjätileistä, joilla on pääsy tiettyyn tietokantaan, ilman käyttöoikeuksien näyttämistä:

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

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

Seuraava kysely näyttää tietoja kaikista tietokannoista ja niihin liittyvistä käyttäjistä:

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

johtopäätös

Tässä opetusohjelmassa olemme osoittaneet, kuinka saada luettelo kaikista MySQL-käyttäjistä ja selvittää, millä käyttäjillä on pääsy tiettyyn tietokantaan.

Jätä kommentti, jos sinulla on kysyttävää.

mysql mariadb