poniedziałek,
Wyświetlanie informacji o użytkownikach MySQL
Administrator serwera baz danych z definicji powinien być dobrze poinformowany. Serwer MySQL przechowuje informacje o użytkownikach w tabeli o nazwie user w bazie danych mysql. Aby uzyskać wykaz wszystkich zarejestrowanych, należy wykonać poniższe zapytanie. Tabela user ma kilkadziesiąt kolumn i można z niej uzyskać znacznie więcej informacji o użytkownikach.
SELECT user FROM mysql.user;
Bardzo łatwo można uzyskać nazwę aktualnego użytkownika, mogą do tego posłużyć dwa zaprezentowane niżej polecenia.
SELECT USER();
SELECT CURRENT_USER();
Dla administratora serwera MySQL bardzo istotną sprawą jest możliwość uzyskania listy wszystkich aktualnie zalogowanych użytkowników, wraz z informacją co w tej chwili robią. Wykonaj następującą instrukcję:
SELECT * FROM information_schema.processlist;
Istotna informacja to wykaz użytkowników i ich skojarzeń z bazami danych.
SELECT db, host, user FROM mysql.db;
Można odpytać serwer o tylko tych użytkowników, którzy mają pewien poziom dostępu do bazy danych o podanej nazwie.
SELECT db, host, user FROM mysql.db WHERE db = 'nazwa bazy';
Użytkownicy serwera mają nadane prawa dostępu, czasami zachodzi potrzeba ich sprawdzenia. Poniższe polecenia wyświetlą uprawnienia nadane bieżącemu użytkownikowi.
SHOW GRANTS;
SHOW GRANTS FOR CURRENT_USER;
SHOW GRANTS FOR CURRENT_USER();
Aby wyświetlić prawa nadane użytkownikowi o podanej nazwie, należy posłużyć się poniższą składnią.
SHOW GRANTS FOR 'ckziu'@'localhost';
Z łatwością można uzyskać kod instrukcji służącej do utworzenia danego użytkownika, służy do tego polecenie SHOW CREATE USER.
SHOW CREATE USER 'root'@'localhost';