Ogranicavanje korisnickih resursa (Limiting account resources)

Ukoliko dobijete gresku slicnu ovoj:
User ‘dejan’ has exceeded the ‘max_questions’ resource (current value: 1000)

znajte da imate ogranicenje MAX_QUERIES_PER_HOUR . To ogranicenje vam ne dozvoljava izvrsavanje SELECT upita nad tabelama, ukoliko u intervalu od jednog sata prekoracite maksimalno dozvoljeni broj upita. U ovom slucaju maksimalni broj upita u jednom satu iznosi 1000.

To je dio resursnih ogranicenja, tzv. “limiting account resources“, koje se moze definisati za svakog korisnika pojedinacno i postoji tek od verzije 4.0.2. Primjer takvih ogranicenja izgleda ovako:

mysql> GRANT ALL ON dejan.* TO 'dejan'@'localhost'
    ->     IDENTIFIED BY 'd3j4np455'
    ->     WITH MAX_QUERIES_PER_HOUR 1000
    ->          MAX_UPDATES_PER_HOUR 50
    ->          MAX_CONNECTIONS_PER_HOUR 50
    ->          MAX_USER_CONNECTIONS 2;
       

To znaci:
- da mogu izvrsiti 1000 SELECT upita u sat vremena (MAX_QUERIES_PER_HOUR)
- da mogu izvrsiti 50 izmjena (INSERT, DELETE, UPDATE) u bazi tokom sat vremena (MAX_UPDATES_PER_HOUR)
- da se mogu najvise 50 puta spojiti na bazu u sat vremena (MAX_CONNECTIONS_PER_HOUR)
- da maksimalni broj mojih simultanih konekcija iznosi 2 (MAX_USER_CONNECTIONS)

Vrijednosti tih ogranicenja se nalaze u mysql.user tabeli, i to u slijedecim poljima/kolonama:
  Ogranicenje                                Schema.Tabela.Kolona
———————————————————————–
MAX_QUERIES_PER_HOUR     > mysql.user.max_questions
MAX_UPDATES_PER_HOUR     > mysql.user.max_updates
MAX_CONNECTIONS_PER_HOUR > mysql.user.max_connections
MAX_USER_CONNECTIONS     > mysql.user.max_user_connections

Vise informacija o ovome mozete pronaci na sluzbenom MySQL homepageu: Limiting Account Resources


Leave a Reply