Wyświetlanie uprawnień użytkownika poleceniem SHOW GRANTS
Stronę tą wyświetlono już: 12012 razy
Na poprzedniej stronie Programowanie → Podstawy SQL-a → Utworzenie nowego użytkownika poleceniem CREATE USER była mowa o tworzeniu nowego użytkownika, teraz najwyższa pora i czas, aby wyświetlić sobie, jakie użytkownik ma uprawnienia. Dla obecnie zalogowanego użytkownika wystarczy wpisać polecenie SHOW GRANTS w następujacy sposób:
SHOW GRANTS; +-------------------------------------------------------------------- ---------------------------------------------------------+ | Grants for root@localhost | +-------------------------------------------------------------------- ---------------------------------------------------------+ | GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD 'tutaj zaszyfrowane hasło' WITH GRANT OPTION | | GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION | +-------------------------------------------------------------------- ---------------------------------------------------------+ 2 rows in set (0.00 sec) mysql>
Powyżej wyświetlone zostały informacje o przywilejach dla użytkownika root. Jak widać, użytkownik root ma pełne prawa dostępu do wszystkiego, co w bazie danych się znajduje (o czym informuje linijka GRANT ALL PRIVILAGES ON *.* TO - co w potocznym znaczeniu można ująć tak: przypisz wszystkie przywileje na * - wszystkie bazy danych . * - wszystkie tabele baz danych dla (i tu nazwa użytkownika).
Możliwe jest również wyświetlenie uprawnień dla dowolnego użytkownika, a można to osiągnąć w następujący sposób:
SHOW GRANTS FOR library@localhost; +------------------------------------------------------------------- ---------------------------------+ | Grants for library@localhost | +------------------------------------------------------------------- ---------------------------------+ | GRANT USAGE ON *.* TO 'library'@'localhost' IDENTIFIED BY PASSWORD 'tutaj zaszyfrowane hasło' | +------------------------------------------------------------------- ---------------------------------+ 1 row in set (0.00 sec) mysql>
Użytkownik library został utworzony na poprzedniej stronie, bez nadawania mu przywilejów co spowodowało, że nie ma on dostępu do baz danych. Nie może więc on ani tworzyć nowych, ani odczytywać, czy zapisywać danych do baz, generalnie to nic nie może (no poza zalogowaniem się). O tym, że nic nie może mówi linijka GRANT USAGE ON *.* TO - czyli z SQL-a na nasze: nadaj żadne przywileje na wszystkich bazach danych i wszystkich tabelach tych baz danych dla (i tu nazwa użytkownika).
Tytuł:
SQL dla analityków danych. Tworzenie zbiorów danych dla początkujących
Autor:
Renée M. P. Teate
Tytuł:
SQL w mgnieniu oka. Opanuj język zapytań w 10 minut dziennie. Wydanie V
Autor:
Ben Forta
Tytuł:
Praktyczna nauka SQL dla Oracle. Wykorzystaj ogromne możliwości bazy danych Oracle
Autor:
Kim Berg Hansen
Tytuł:
MS SQL Server. Zaawansowane metody programowania. Wydanie II
Autor:
Adam Pelikant
Tytuł:
SQL w mgnieniu oka. Opanuj język zapytań w 10 minut dziennie. Wydanie V
Autor:
Ben Forta
Tytuł:
Mistrzowski SQL. 61 technik pisania wydajnego kodu SQL
Autor:
John L. Viescas, Douglas J. Steele, Ben G. Clothier
Tytuł:
Kompletny przewodnik po DAX. Analiza biznesowa przy użyciu Microsoft Excel, SQL Server Analysis Services i Power BI
Autor:
Ferrari Alberto, Russo Marco
Tytuł:
Podstawy języka T-SQL Microsoft SQL Server 2016 i Azure SQL Database
Autor:
Ben-Gan Itzik
Tytuł:
Zapytania w języku T-SQL. w Microsoft SQL Server 2014 i SQL Server 2012
Autor:
Tytuł:
Microsoft SQL Server 2014. Optymalizacja zapytań
Autor:
Benjamin Nevarez