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