Android

Hvordan vise / liste brukere i mysql

MySQL Tutorial For Beginners | Introduction to MySQL | Learn MySQL | MySQL Training | Edureka

MySQL Tutorial For Beginners | Introduction to MySQL | Learn MySQL | MySQL Training | Edureka

Innholdsfortegnelse:

Anonim

Har du noen gang hatt behov for å få en liste over alle brukere på MySQL-serveren? Det er kommandoer for å vise databaser og tabeller, men det er ingen MySQL show users kommando.

Denne opplæringen forklarer hvordan du kan liste alle brukerkontoer på en MySQL-databaseserver gjennom kommandolinjen. Vi vil også vise deg hvordan finne ut hvilke brukere som har tilgang til en gitt database.

Før du begynner

Vi antar at du allerede har MySQL eller MariaDB-server installert på systemet ditt.

Alle kommandoer blir utført i MySQL-skallet som en rotbruker. For å få tilgang til MySQL-skallet, skriver du følgende kommando og skriver inn MySQL root-brukerpassordet når du blir bedt om det:

mysql -u root -p Hvis du har glemt MySQL root-passordet, kan du tilbakestille det ved å følge disse instruksjonene.

Vis alle MySQL-brukere

MySQL lagrer informasjon om brukerne i en tabell som heter user i mysql databasen.

For å få en liste over alle MySQL-brukerkontoer, bruk SELECT setningen for å hente alle rader fra mysql.users tabellen:

SELECT User, Host FROM mysql.user;

Utgangen skal se ut som nedenfor:

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

Kommandoen over viser bare to kolonner fra mysql.user tabellen ( User and Host ). Denne tabellen inneholder mer enn 40 kolonner som Password , Select_priv , Update_priv , etc.

En brukerkonto i MySQL består av to deler: et brukernavn og vertsnavn.

Bruk desc mysql.user; uttalelse for å vise informasjon om tabellens kolonner. Når du kjenner til kolonnenavnet, kan du kjøre en spørring mot valgte data.

For å få en liste over alle MySQL-brukerkontoer, inkludert informasjon om passordet og om det er aktivt eller utløpt, bruker du følgende spørring:

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)

Vis brukere som har tilgang til en spesiell database

Informasjonen om privilegiene på databasenivå lagres i tabellen mysql.db .

Du kan spørre i tabellen for å finne ut hvilke brukere som har tilgang til en gitt database og nivået på privilegiene.

For å få en liste over alle brukere som har en viss tilgang til databasen med navnet db_name , vil du for eksempel bruke følgende spørring:

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)

For å hente informasjon bare om brukerkontoer som har tilgang til en gitt database, uten å vise rettighetene bruker:

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

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

Følgende spørring viser deg informasjon om alle databaser og tilknyttede brukere:

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

Konklusjon

I denne opplæringen har vi vist hvordan du får en liste over alle MySQL-brukere og finner ut hvilke brukere som har tilgang til en bestemt database.

Legg gjerne igjen en kommentar hvis du har spørsmål.

mysql mariadb