在MySQL 5.7及后續(xù)版本中,可以按照賬號來限制每個賬號實(shí)際具有的資源限制。
語法:
GRANT WITH option
如:
GRANT SELECT ON test.*
TO user1@localhost
WITH MAX_QUERIES_PER_HOUR 3
MAX_USER_CONNECTIONS 5;
可設(shè)選項(xiàng):
MAX_QUERIES_PER_HOUR count : 每小時(shí)最大查詢次數(shù)
MAX_UPDATES_PER_HOUR count :每小時(shí)最大更新次數(shù)
MAX_CONNECTIONS_PER_HOUR count :每小時(shí)最大連接次數(shù)
MAX_USER_CONNECTIONS count :最大用戶連接數(shù)
MAX_USER_CONNECTIONS 指的是瞬間的并發(fā)連接數(shù),而MAX_CONNECTIONS_PER_HOUR指的是每小時(shí)累計(jì)的最大連接次數(shù),
如果MAX_USER_CONNECTIONS count的值為0,那么用戶的實(shí)際值為全局的參數(shù)值MAX_USER_CONNECTIONS,否則按照用戶的MAX_USER_CONNECTIONS count來設(shè)置。
資源限制是對某一賬號進(jìn)行累計(jì)的,而不是對賬號的一次連接進(jìn)行累計(jì)的,當(dāng)資源限制到達(dá)后,賬號的任何一次相關(guān)操作都會被拒絕。
系統(tǒng)默認(rèn)調(diào)用的一些隱式查詢也會被記錄到MAX_QUERIES_PER_HOUR的值中。