Mysql otrzymaj listę kont użytkowników

Mysql otrzymaj listę kont użytkowników

Jako administrator bazy danych napotkasz instancje, w których musisz znać użytkowników na serwerze MySQL. Pozwoli ci to wiedzieć, którzy użytkownicy mogą wykonywać określone zadania i zarządzać ich uprawnieniami.

Ten samouczek zbada metodę pobierania użytkowników dostępnych na serwerze MySQL.

Wymagania

Zanim zaczniemy od tego samouczka, zakładamy, że masz:

  1. Najnowsza wersja MySQL Server zainstalowana w twoim systemie.
  2. Dostęp do sesji MySQL Shell.

Krok 1 - Zaloguj się do MySQL

Uzyskasz dostęp do swojej powłoki MySQL, aby wyświetlać i zarządzać użytkownikami na swoim serwerze MySQL.

Składnia poleceń:

$ mysql -u -P

Zastąp nazwę użytkownika docelowym użytkownikiem, który chcesz zalogować.

Na przykład, jako root, wykonaj:

$ mysql -u root -p

Wprowadź hasło nazwy użytkownika. Po pomyślnym uwierzytelnieniu powinieneś upuścić skorupę SQL, jak pokazano:

Tutaj możesz zacząć wykonywać polecenia SQL i zobaczyć wynikowe dane wyjściowe.

Wymień użytkowników w MySQL

Niestety, MySQL nie zapewnia natywnej komendy programu, którego możemy użyć. Oznacza to, że musimy bawić się z informacjami MySQL przechowując.

Na przykład MySQL używa MySQL.Tabela użytkowników do przechowywania informacji o użytkowniku. Następnie możemy wykorzystać informacje przechowywane w tej tabeli do pobrania różnych informacji.

Mysql pokaż wszystkim użytkownikom

Zacznijmy od omówienia, jak odzyskać wszystkich użytkowników. Uruchom zapytanie:

WYBIERAĆ
użytkownik
Z
Mysql.użytkownik;

Polecenie odzyska kolumnę użytkownika z MySQL.Tabela użytkowników i zwróć wyniki, jak pokazano:

Z powyższego wyjścia możemy zobaczyć różnych użytkowników, takich jak root, mysql.Sys, Mysql.sesja itp.

Pamiętaj, że powyższe polecenie może wymagać zmiany baz danych. Jeśli otrzymasz „zapytanie 1: tabela” mysql.Użytkownik „nie istnieje”, uruchom poniższe polecenie, aby przełączyć bazy danych.

> Użyj mysql

Po uzyskaniu listy użytkowników na serwerze możesz zebrać informacje o użytkowniku za pomocą poleceń takich jak DESC.

Pokaż użytkowników z aktywną sesją

Możemy również uzyskać listę użytkowników z aktywnymi sesjami za pomocą bazy danych Information_Schema. Ta baza danych przechowuje informacje o serwerze i bieżących sesjach.

Wykonaj polecenie:

Powyższe polecenie przyniesie nazwę użytkownika, hosta i bazy danych z tabeli listy procesów. To pokazuje aktualną nazwę użytkownika, host, z którego łączy klient, oraz baza danych, z którą się połączył.

Przykładem jest to, jak pokazano:

Z powyższego wyjścia widzimy, że obecnie jest połączonych trzech użytkowników. Pamiętaj, że ta sama nazwa użytkownika, ale inny gospodarz jest traktowany jako inna nazwa użytkownika.

Pokaż obecnego użytkownika

Czasami może być konieczne zebranie szybkich informacji o bieżącym użytkowniku. Na szczęście MySQL ma funkcję użytkownika (), która zwraca aktualnie zalogowany użytkownik.

Przykładem jest jak pokazano:

WYBIERAĆ
użytkownik();

Polecenie powinno zwrócić bieżące informacje o użytkowniku jako:

Uzyskaj użycia z dostępem do określonej bazy danych

Załóżmy, że chcesz określić nazwę użytkownika z dostępem do docelowego DB? Możesz użyć tabeli i filtru DB dla tej konkretnej nazwy użytkownika.

Weź ilustrację kodu poniżej:

WYBIERAĆ
*
Z
Mysql.db
GDZIE
Db = „sys” \ g;

Powyższe polecenie zwróci użytkownika z dowolnym dostępem do bazy danych SYS. Zamień SYS nazwa bazy danych, którą chcesz ocenić.

Polecenie zwróci dane wyjściowe jak pokazano:

***************************** 1. wiersz ***************************
Gospodarz: LocalHost
DB: Sys
Użytkownik: MySQL.Sys
Select_priv: n
Insert_priv: n
Aktualizacja_priv: n
Delete_priv: n
Create_priv: n
Drop_priv: n
Grant_priv: n
Referencje_priv: n
Index_priv: n
Alter_priv: n
Create_tmp_table_priv: n
Lock_tables_priv: n
Create_view_priv: n
Show_view_priv: n
Create_routine_priv: n
Alter_routine_priv: n
Execute_priv: n
Event_priv: n
Trigger_priv: y
1 wiersz w zestawie (0.00 s)

Z powyższego wyjścia widać, że mysql.Użytkownik SYS uruchomił uprawnienia w bazie danych.

Wniosek

Jak pokazano w tym samouczku, możemy użyć różnych tabel i baz danych MySQL, aby pobrać informacje o użytkownikach. Ta potężna funkcja pozwala tworzyć procedury i inne typy zdefiniowane przez użytkownika w celu gromadzenia informacji o użytkownikach.