Aby w MySQL nadać użytkownikowi prawo do nadawania i modyfikowania uprawnień innym użytkownikom, należy użyć klauzuli:
Źle.
TRIGGER to wyzwalacz reagujący na zmiany danych, nie dotyczy delegowania uprawnień.Źle.
ALL PRIVILEGES nadaje wszystkie uprawnienia, ale nie prawo ich dalszego przekazywania.Źle.
FLUSH PRIVILEGES przeładowuje tablice uprawnień, nie deleguje praw.Dobrze.
WITH GRANT OPTION pozwala użytkownikowi nadawać nadane mu uprawnienia innym.Klauzula
WITH GRANT OPTION dodana do polecenia GRANT daje użytkownikowi prawo przekazywania innym tych uprawnień, które sam otrzymał. Np. GRANT SELECT ON baza.* TO jan WITH GRANT OPTION pozwala Janowi nadawać SELECT kolejnym osobom. Dlatego do delegowania uprawnień służy GRANT OPTION.Pozostałe opcje dotyczą czego innego.
TRIGGER to wyzwalacz uruchamiany automatycznie przy zmianie danych w tabeli - nie ma związku z nadawaniem praw. ALL PRIVILEGES przyznaje wszystkie uprawnienia do obiektu, ale samo w sobie nie pozwala przekazywać ich dalej. FLUSH PRIVILEGES przeładowuje uprawnienia z tablic systemowych po ręcznych zmianach - to czynność administracyjna, nie delegowanie. Prawo nadawania uprawnień innym daje WITH GRANT OPTION, dlatego to ono jest poprawne.