您的位置:首页 > 编程语言 > PHP开发

MySQL配额的PHP脚本

2007-05-06 00:42 239 查看
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_priv和Create_priv也会被置为'N'
5.重新载入权限

mysql>flush privileges本文出自 “sharp” 博客,请务必保留此出处http://sharp.blog.51cto.com/134660/25814
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: