MySQL limitando o espaço em disco do usuário por tablespace

MySQL limitando o espaço em disco do usuário por tablespace

Estou tentando descobrir como definir um limite de espaço em disco para usuários no MySQL. O que eu quero é, por exemplo, que o administrador atribua 1G de espaço em disco para o usuário A, se A esgotasse o espaço em disco de 1G, o MySQL não permitiria que A inserisse nada. Pesquisei esse problema no Google e alguém mencionou que ele pode ser resolvido usando tablespace, mas não mencionou como. Qualquer ajuda é apreciada.

Responder1

Até onde eu sei, não há suporte nativo para cotas de disco do MySQL (elimitando o uso do disco para um banco de dadoscom cotas rígidas parece uma receita para o desastre).

Você pode relatar o uso do disco com o utilitário de uso de disco MySQL https://dev.mysql.com/doc/mysql-utilities/1.5/en/mysqldiskusage.html

Responder2

Você pode colocar mysql/datadir em cada usuário home exemplo
/home/user1 ou DATADIR="/var/www/${VHOST}/mysql/datadir" e então colocar um limite no espaço em disco para cada usuário

Também assim cada usuário terá seu arquivo sock e pid que eu uso para fazer assim:

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

informação relacionada