咨询热线:4006-75-4006
售前:9:00-23:30 备案:9:00-18:00 技术:7*24h
一个目录就是一个数据库。所以可以通过检测目录的大小得到数据库大小,判断容量是否超过限额,如果超过限额就取消该用户的insert,create,update,create temp table权限,允许select,delete等其他权限。那么就可以通过脚本来实现限制mysql的配额,现在就介绍一下脚本的使用方法
1.创建quotadb并建立表quota
create database quotadb;
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.添加要限定的数据库和限额的大小
INSERT INTO `quota` (`Db`, `Limit`, `Exceeded`)VALUES (your_database_name, the_database_Size, 'N');
3.新建用户并分配数据库权限
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.重新载入权限
flush privileges<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />