GRANT w MySQL

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

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.