一個(gè)目錄就是一個(gè)數(shù)據(jù)庫。所以可以通過檢測目錄的大小得到數(shù)據(jù)庫大小,判斷容量是否超過限額,如果超過限額就取消該用戶的insert,create,update,create temp table權(quán)限,允許select,delete等其他權(quán)限。那么就可以通過腳本來實(shí)現(xiàn)限制mysql的配額,現(xiàn)在就介紹一下腳本的使用方法
1.創(chuàng)建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.添加要限定的數(shù)據(jù)庫和限額的大小
INSERT INTO `quota` (`Db`, `Limit`, `Exceeded`)VALUES (your_database_name, the_database_Size, 'N');
3.新建用戶并分配數(shù)據(jù)庫權(quán)限
grant select,update,insert,delete,create,drop on database.* to user@'host' indetified by 'password'
4.運(yùn)行mysql_quota.php腳本,如果數(shù)據(jù)庫容量大于quotadb限定的容量,quota表中的Exceeded就會(huì)被置為'N',且數(shù)據(jù)庫mysql中的表db中的Insert_priv和Create_priv
也會(huì)被置為'N'
5.重新載入權(quán)限
flush privileges<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />