注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 QoS流量的分类和标记
 帮助

MySQL配额的PHP脚本


2007-05-06 00:42:33
 标签:php mysql quota   [推送到技术圈]

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://sharp.blog.51cto.com/134660/25814
http://projects.marsching.org/mysql_quota/
这是另一个限制MySQL容量的php脚本。
两个的实现方式都大同小异,都是通过对其权限进行设定,当容量大于数据库所限定的大小时,就取消其插入和创建的权限。下午对它进行测试,还是可以实现这个目的的。只是在更新完权限之后,这个脚本没有“flush privileges”,这样即使权限改变,用户还是可以对其进行插入和创建的。这就要通过手工的方式去更新,这也是这个脚本需要改进的地方。
现在就介绍这个脚本的使用方法:
1.
创建quotadb并建立表quota
mysql>create database quotadb;
mysql>CREATE TABLE `Quota` (`Db` CHAR(64) NOT NULL,`Limit` BIGINT NOT NULL,`Exceeded` ENUM('Y','N')DEFAULT 'N' NOT NULL, PRIMARY KEY (`Db`), UNIQUE `Db`));
2.添加要限定的数据库和限额的大小
mysql>INSERT INTO `quota` (`Db`, `Limit`, `Exceeded`)VALUES (your_database_name, the_database_Size, 'N');
3.新建用户并分配数据库权限
mysql>grant select,update,insert,delete,create,drop on database.* to user@'host' indetified by 'password'
4.运行mysql_quota.php脚本,如果数据库容量大于quotadb限定的容量,quota表中的Exceeded就会被置为'N',且数据库mysql中的表db中的Insert_privCreate_priv也会被置为'N'
5.重新载入权限
mysql>flush privileges

本文出自 “sharp” 博客,请务必保留此出处http://sharp.blog.51cto.com/134660/25814





    文章评论
 
2007-05-07 21:32:07
顶过,博主写的很精彩`

 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: