我维护一个MySQL服务器。 有一个用户的数据库大小非常迅速地增长。 由于他使用的是InnoDB,因此/ data / mysql / ibdata1文件已经成熟。 我可以挂载一个小分区,把他的数据库,但ibdata1文件似乎是共享的所有数据库。
我所关心的是如何限制特定用户使用比为他定义的更多的数据库空间。
没有开箱即用的解决scheme。 但是您可以执行以下操作:
show table status获取用户拥有的表的data_length和index_length (这是数据文件在文件系统中使用的空间量) 但请记住,从InnoDB表中删除数据不会释放文件系统中的空间。 所以如果你的用户达到了极限,他无法做任何反抗。 (除了倾销所有的InnoDB表,丢弃并重新导入它们)