MYSQL中限制资源的施用_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2165 | 回复: 0   主题: MYSQL中限制资源的施用        下一篇 
Gavin
注册用户
等级:少校
经验:878
发帖:130
精华:1
注册:2011-7-21
状态:离线
发送短消息息给Gavin 加好友    发送短消息息给Gavin 发消息
发表于: IP:您无权察看 2014-11-24 11:20:34 | [全部帖] [楼主帖] 楼主

自己查看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)


--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论