file ibdata1 occupa spazio

Ciao,
su un server ho installato Fedora 10 con un database MySQL utilizzato da un applicativo di monitoraggio. In poco tempo sotto il direttorio /var/lib/mysql è stato creato un file ibdata1 che sta crescendo in modo spropositato.
Facendo una breve ricerca su internet sembra che questo file sia utilizzato, dalle tabelle con engine INNODB, che si salvano le transazioni (perché l’engine permette di avere una tabelle di tipo ACID). Sempre facendo una ricerca, sembra che INNODB allochi spazio ma quando viene eliminato un dato non viene liberato lo spazio. Condizione quindi dove il file cresce a dismisura.

Avete avuto già modi di riscontrare questo problema?

Hai provato a leggere http://dev.mysql.com/doc/refman/5.1/en/innodb.html

vedi se http://forums.mysql.com/read.php?35,121880,121886 fa al caso tuo.

Si infatti ho tamponato così la situazione in modo da ridurre lo spazio. Il problema che utilizzando anche più file ibdata impostando il valore innodb_per_table, si è costretti ogni volta a eseguire il dump dei database è svuotare… Non è così normale.

:frowning:

ti suggerisco l’attenta lettura dalla guida postata dall’ottimo Mailga dei capitoli:
13.6.5 e 13.6.11
ed in particolare di http://dev.mysql.com/doc/refman/5.1/en/multiple-tablespaces.html

Avevo dato uno sguardo alla 13.6.5. e avevo pensato di eseguire una soluzione, ma non credo quanto sia performante.

  1. aggiungere un nuovo filesystem da qualche GB utilizzandolo solo per il salvataggio dei dati dei vari db MySQL
  2. Modifica del my.cnf per far salvare i db sotto questo fs.
  3. Modifica del my.cnf per impostare una dimensione massima del file ibdata1 con opzione autoextend
  4. Impostazione di una policy di quote per limitare l’aumentare spropositato dell’occupazione.

E’ una soluzione folle?