转自:http://blog.chinaunix.net/u/29134/showart_376261.html 今天看到手册,不小心看到了这里,自己做了几个例子。 从MYSQL4.x开始,MYSQL就增加了以每个用户为基础,限制MYSQL服务器的资源利用。 自己查看MYSQL.USER 表就会发现里面最后几个字段: mysql> select version(); +------------------------------------+ | version() | +------------------------------------+ | 5.1.17-beta-community-nt-debug-log | +------------------------------------+ 1 row in set (0.00 sec) *************************** 36. row *************************** Field: max_questions Type: int(11) unsigned Null: NO Key: Default: 0 Extra: *************************** 37. row *************************** Field: max_updates Type: int(11) unsigned Null: NO Key: Default: 0 Extra: *************************** 38. row *************************** Field: max_connections Type: int(11) unsigned Null: NO Key: Default: 0 Extra: *************************** 39. row *************************** Field: max_user_connections Type: int(11) unsigned Null: NO Key: Default: 0 Extra: 39 rows in set (0.00 sec) 这三个字段可以用GRANT语句来生成。 1、MAX_QUERIES_PER_HOUR 用来限制用户每小时运行的查询数量 mysql> grant select on *.* to 'cu_blog'@'localhost' identified by '123456' with max_queries_per_hour 5; Query OK, 0 rows affected (0.00 sec) ... mysql> select user(); +-------------------+ | user() | +-------------------+ | cu_blog@localhost | +-------------------+ 1 row in set (0.00 sec) 当到了指定的次数时就会报错 mysql> select user(); ERROR 1226 (42000): User 'cu_blog' has exceeded the 'max_questions' resource (cu rrent value: 5) 2、MAX_UPDATES_PER_HOUR 用来限制用户每小时的修改数据库数据的数量。 mysql> grant select on *.* to 'cu_blog'@'localhost' with max_updates_per_hour 5; Query OK, 0 rows affected (0.00 sec) 3、MAX_CONNECTIONS_PER_HOUR用来控制用户每小时打开新连接的数量。 mysql> grant select on *.* to 'cu_blog'@'localhost' with max_connections_per_hou r 5; Query OK, 0 rows affected (0.00 sec) 4、MAX_USER_CONNECTIONS 限制有多少用户连接MYSQL服务器。 mysql> grant select on *.* to 'cu_blog'@'localhost' with max_user_connections 2; Query OK, 0 rows affected (0.00 sec) 5、要想将所有账户当前的记数重设为零,可以执行FLUSH USER_RESOURCES语句。还可以通过重载授权表来重设记数。 mysql> flush user_resources; Query OK, 0 rows affected (0.00 sec)