MySQL配額的PHP腳本

[url]http://projects.marsching.org/mysql_quota/[/url]
這是另一個限制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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章