设置与共享主机类似的每个帐户的 MySQL 限制

设置与共享主机类似的每个帐户的 MySQL 限制

以前也曾有人问过类似的问题,例如这个,但到目前为止我看到的所有答案都没有真正告诉我我想要的是什么。

我需要为内部开发和测试目的设置一个 Linux 机器,这将需要多个用户帐户。每个帐户的 MySQL 数据库占用的空间量必须受到限制,因为测试将要试图破坏事物,并希望限制任何造成的损害。

我假设我需要为每个帐户设置一个 MySQL 实例,数据库文件位于该帐户的文件空间内,并使用配额进行限制。这是正确的吗?还是还有其他我忽略的方法?

答案1

你是对的 - MySQL 中没有内置配额支持。

请注意,使用磁盘配额来实现目标时,如果用户空间不足,MySQL 可能会缓冲无法完成的语句。这可能会导致服务器稳定性问题。达到磁盘限制的人也报告了数据完整性问题(尽管这可能不会影响所有表引擎)。

答案2

另一个选择是运行一个 cronjob 或守护程序来监控数据库大小,然后在达到指定大小时撤销插入和更新权限。MySQL Quota Daemon 就是这样一个工具

http://lrem.net/software/mysql-quota-daemon.xhtml

相关内容