我有一个开发MySQL(仅限InnoDB)服务器,有多个用户。每个用户都可以访问一个独占架构。如何限制架构大小,以便每个用户只能使用1GB(例如)?
答案 0 :(得分:2)
MySQL本身不提供配额系统。使用James McNellis建议的方法可能会有效,但是InnoDB突然达到硬配额限制肯定不会有利于稳定性;所有数据文件仍然通过系统表空间连接,无法摆脱。
不幸的是,我没有看到实现你想要的实用方法。如果您担心超出预定义限制的磁盘空间使用并且不想采用外部配额规定,我建议保留组合表空间设置(即不innodb_file_per_table
)并删除:autoextend
来自配置。
这样您仍然无法获得用户或模式特定的限制,但至少可以防止磁盘被数据填满,因为在此设置中表空间不会超过其初始大小。对于innodb_file_per_table
,遗憾的是无法将它们配置为以某个最大大小停止。
这是MySQL与其他更多企业级数据库不同的方面之一。不要误解我的意思,我们在数千个装置中使用InnoDB和大量数据,因此它已经证明可以用于生产等级。只有管理功能有时缺乏。