GRANT w MySQL
GRANT to polecenie SQL używane w MySQL do nadawania uprawnień użytkownikom. Pozwala określić, jakie operacje dany użytkownik może wykonywać na bazie danych, tabeli lub całym serwerze.
GRANT jest często zestawiane z poleceniem REVOKE:
GRANT— nadaje uprawnienia,REVOKE— cofa uprawnienia.
Składnia podstawowa
GRANT uprawnienia
ON baza.tabela
TO 'uzytkownik'@'host';
Przykład nadania prawa odczytu danych:
GRANT SELECT
ON sklep.klienci
TO 'jan'@'localhost';
Użytkownik jan będzie mógł odczytywać dane z tabeli klienci w bazie sklep.
Nadanie kilku uprawnień
GRANT SELECT, INSERT, UPDATE
ON sklep.*
TO 'jan'@'localhost';
Ten zapis pozwala użytkownikowi odczytywać, dodawać i modyfikować dane we wszystkich tabelach bazy sklep.
Nadanie wszystkich uprawnień
GRANT ALL PRIVILEGES
ON sklep.*
TO 'jan'@'localhost';
Takie polecenie daje użytkownikowi pełne prawa w podanej bazie danych. Należy stosować je ostrożnie, szczególnie na serwerach produkcyjnych.
Host użytkownika
W MySQL użytkownik jest identyfikowany nie tylko nazwą, ale też hostem, np.:
'jan'@'localhost'
'jan'@'%'
localhost oznacza połączenia lokalne, a % może oznaczać możliwość łączenia się z różnych hostów.
Zapamiętaj
Jeśli pytanie dotyczy nadawania dostępu, odpowiedzią jest GRANT. Jeśli dotyczy cofania dostępu, odpowiedzią jest REVOKE.