MySQL begrenzt den Benutzerfestplattenspeicherplatz nach Tablespace

MySQL begrenzt den Benutzerfestplattenspeicherplatz nach Tablespace

Ich versuche herauszufinden, wie ich in MySQL ein Speicherplatzlimit für Benutzer festlegen kann. Ich möchte beispielsweise, dass der Administrator dem Benutzer A 1 GB Speicherplatz zuweist. Wenn A den 1 GB Speicherplatz aufgebraucht hat, lässt MySQL A nichts einfügen. Ich habe dieses Problem gegoogelt und jemand hat erwähnt, dass es durch die Verwendung von Tablespace gelöst werden kann, hat aber nicht erwähnt, wie. Jede Hilfe ist willkommen.

Antwort1

Soweit ich weiß, gibt es keine native MySQL-Festplattenkontingentunterstützung (undBegrenzung der Festplattennutzung für eine Datenbankmit harten Quoten klingt nach einem Rezept für eine Katastrophe).

Sie können jedoch mit dem MySQL-Dienstprogramm zur Festplattennutzung Berichte zur Festplattennutzung erstellen. https://dev.mysql.com/doc/mysql-utilities/1.5/en/mysqldiskusage.html

Antwort2

Sie können mysql/datadir auf jedem Benutzer-Home-Beispiel
/home/user1 oder DATADIR="/var/www/${VHOST}/mysql/datadir" ablegen und dann eine Begrenzung des Speicherplatzes für jeden Benutzer festlegen.

Außerdem möchte ich, dass jeder Benutzer seine eigene Sock- und PID-Datei hat. Ich mache es folgendermaßen:

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

verwandte Informationen