MySQL通过表空间限制用户磁盘空间

我想弄清楚如何在MySQL中为用户设置磁盘空间的限制。 我想要的是,例如,pipe理员为用户A分配1G磁盘空间,如果A用完了1G磁盘空间,MySQL将不允许插入任何内容。 我GOOGLE了这个问题,有人提到它可以通过使用表空间解决,但没有提到如何。 任何帮助表示赞赏。

据我所知,没有本地的MySQL磁盘配额支持(并限制硬盘配额的数据库的磁盘使用听起来像一个灾难的食谱)。

您可以通过MySQL磁盘使用实用程序报告磁盘使用情况https://dev.mysql.com/doc/mysql-utilities/1.5/en/mysqldiskusage.html

你可以把mysql / datadir放在每个用户主页的例子中
/ home / user1或DATADIR =“/ var / www / $ {VHOST} / mysql / datadir”,然后对每个用户的磁盘空间进行限制

也就是说,每个用户将有他的袜子和PID文件,我用这样做:

mysqld --skip-ndbcluster --user=mysql --skip-grant-tables --basedir=/usr --datadir=${DATADIR} --skip-innodb --skip-bdb --skip-networking --max_allowed_packet=8M --net_buffer_length=16K --socket=${sockfile} --pid-file=${pidfile} &>/dev/null