Rozdział 9. ♦ Podstawy MySQL 269
♦ MAX_UPDATE$_PER_HOUR i le — Określa, ile uaktualnień w ciągu godziny może wykonać dany użytkownik, wartość 0 oznacza brak limitu. Opcja dostępna od wersji 4.0.2;
♦ MAX_C0NNECTI0NS_PER_H0UR ile — Określa, ile połączeń w ciągu godziny może zrealizować dany użytkownik, wartość 0 oznacza brak limitu. Opcja dostępna od wersji 4.0.2;
♦ MAX_USER_C0NNECTI0NS ile — Określa, ile jednoczesnych połączeń może realizować dany użytkownik, wartość 0 oznacza, że maksymalna liczba jednoczesnych połączeń jest wskazywana przez zmienną systemową max_user_ connections. Opcja dostępna od wersji 5.0.3;
Skoro znamy już pobieżnie wszystkie składowe polecenia GRANT, zobaczmy na podstawie kilku przykładów, jak wygląda jego wykorzystanie w praktyce. Załóżmy, że istnieje na serwerze baza o nazwie biblioteka i utwórzmy konto użytkownika o nazwie userl i haśle testl, któremu początkowo nie przypiszemy żadnych praw, oprócz możliwości logowania się na serwerze. W takiej sytuacji należy wydać polecenie:
GRANT usage ON biblioteka.*
TO userl identified by 'testl':
Nadajmy temu użytkownikowi prawa do tworzenia (CREATE) i modyfikacji (INSERT, UPDATE, DELETE) tabel oraz wykonywania zapytań (SELECT) w bazie biblioteka:
GRANT create. select. insert, update. delete ON biblioteka.*
TO userl:
Stwórzmy następnie jeszcze jedno konto użytkownika o nazwie user2, nadajmy mu hasło test2 oraz prawo do wykonywania zapytań typu select w tabeli książki w bazie bibl ioteka (tabela ta musi istnieć w bazie). Dodatkowo ograniczymy maksymalną liczbę zapytań na godzinę do 15 oraz maksymalną liczbę połączeń do 5. Użytkownik będzie miał jednak prawo przekazywać swoje uprawnienia innym użytkownikom:
GRANT select
ON biblioteka.książki
TO user2 IDENTIFIED BY 'test2'
WITH GRANT 0PTI0N MAX_QUERIES PER_H0UR 15 MAX_C0NNECTI0NS_PER_H0UR 5:
Nazwa rejestrowanego użytkownika może dodatkowo zawierać nazwę hosta, z którego będzie on miał prawo logowania do serwera. W takim wypadku parametr użytkowni k powinien mieć format:
' nazwa jjżytkowni ka' 0' nazwaJosta'