Android

Sådan vises / listes brugere i mysql

How to Enable Adobe Flash Player on Chrome Browser

How to Enable Adobe Flash Player on Chrome Browser

Indholdsfortegnelse:

Anonim

Har du nogensinde brug for at få en liste over alle brugere på din MySQL-server? Der er kommandoer til at vise databaser og tabeller, men der er ingen kommando fra MySQL show users .

Denne tutorial forklarer, hvordan man viser en liste over alle brugerkonti på en MySQL-databaseserver via kommandolinjen. Vi viser dig også, hvordan finde ud af, hvilke brugere der har adgang til en given database.

Før du begynder

Vi antager, at du allerede har MySQL eller MariaDB-server installeret på dit system.

Alle kommandoer udføres inde i MySQL-shell som en rodbruger. For at få adgang til MySQL-shell skriver du følgende kommando og indtaster din MySQL root-brugeradgangskode, når du bliver bedt om det:

mysql -u root -p Hvis du har glemt din MySQL root-adgangskode, kan du nulstille den ved at følge disse instruktioner.

Vis alle MySQL-brugere

MySQL gemmer information om brugerne i en tabel med navnet user i mysql databasen.

For at få en liste over alle MySQL-brugerkonti, skal du bruge SELECT sætningen til at hente alle rækker fra mysql.users tabellen:

SELECT User, Host FROM mysql.user;

Outputet skal se ud 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 ovenfor viser kun to kolonner fra mysql.user tabellen ( User og Host ). Denne tabel indeholder mere end 40 kolonner såsom Password , Select_priv , Update_priv osv.

En brugerkonto i MySQL består af to dele: et brugernavn og et værtsnavn.

Brug desc mysql.user; erklæring for at få vist oplysninger om tabellens kolonner. Når du kender kolonnenavnet, kan du køre en forespørgsel mod en valgt data.

For at få en liste over alle MySQL-brugerkonti, herunder oplysninger om adgangskoden, og om den er aktiv eller udløbet, skal du f.eks. Bruge følgende forespørgsel:

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 brugere, der har adgang til en særlig database

Oplysningerne om privilegier på databaseniveau gemmes i tabellen mysql.db .

Du kan forespørge tabellen for at finde ud af, hvilke brugere der har adgang til en given database og niveauet for privilegierne.

For at få en liste over alle brugere, der har en vis adgang til databasen med navnet db_name , vil du f.eks. Bruge følgende forespørgsel:

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)

Hvis du kun vil hente oplysninger om de brugerkonti, der har adgang til en given database, uden at bruge privilegierne, skal du bruge:

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

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

Følgende forespørgsel viser dig oplysninger om alle databaser og tilknyttede brugere:

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

Konklusion

I denne tutorial har vi vist, hvordan man får en liste over alle MySQL-brugere og finder ud af, hvilke brugere der har adgang til en bestemt database.

Du er velkommen til at give en kommentar, hvis du har spørgsmål.

mysql mariadb