Co to jest GRANT OPTION w MySQL?
GRANT OPTION to uprawnienie w MySQL pozwalające użytkownikowi nadawać innym użytkownikom te uprawnienia, które sam posiada. Nie jest to zwykłe prawo dostępu do tabeli lub bazy, lecz możliwość delegowania uprawnień.
W pytaniach egzaminacyjnych należy zapamiętać, że prawo do nadawania i modyfikowania uprawnień innym użytkownikom uzyskuje się przez klauzulę:
WITH GRANT OPTION
Przykład użycia
GRANT SELECT, INSERT
ON sklep.*
TO 'jan'@'localhost'
WITH GRANT OPTION;
Taki zapis oznacza, że użytkownik jan może wykonywać SELECT i INSERT w bazie sklep, a dodatkowo może nadać te same uprawnienia innym użytkownikom.
Ważne różnice
GRANT— instrukcja służąca do nadawania uprawnień.WITH GRANT OPTION— pozwala przekazywać posiadane uprawnienia dalej.ALL PRIVILEGES— nadaje wszystkie standardowe uprawnienia, ale samo w sobie nie oznacza prawa do ich dalszego nadawania.FLUSH PRIVILEGES— odświeża tabele uprawnień, nie nadaje praw.TRIGGER— dotyczy wyzwalaczy, a nie administracji użytkownikami.
Uwaga administracyjna
GRANT OPTION należy nadawać ostrożnie, ponieważ użytkownik z takim prawem może rozszerzać dostęp do danych na kolejne konta. W praktyce powinno być zarezerwowane głównie dla administratorów baz danych.