[OT] Mysql

Andrea Brancatelli andrea a brancatelli.it
Mer 21 Maggio 2008 19:13:58 CEST


Il giorno 21/mag/08, alle 18:15, Cristiano Deana ha scritto:

>> Imposta Innodb_file_per_table prima di fare l'optimize, se hai culo la
>> tabella derivante dall'optimize te la fa in un file nuovo.
>
> A parte che ormai ho deciso di fare un dump/restore, ma poniamo il 
> caso che io abbia culo e mi crea un file solo per quella tabella, 
> tabella che poi viene cancellata... QUEL file verra' cancellato? o 
> sara' almeno cancellabile?
>

Non ho capito bene la domanda (ma di sicuro per colpa mia dato che c' 
mio figlio che mi saltella addosso), comunque se droppi la tabella il 
file .idb della tabella viene ovviamente cancellato. Se invece intendi 
se potrai cancellare l'ibdata1 dopo aver "esportato" le tabelle nei 
singoli file, la risposta  no, in quanto all'interno dell'ibdata 
vengono savati i "puntamenti" alle varie tabelle salvate nei singoli 
.idb, se cancelli l'ibdata perdi (tutti) i database innodb.

La procedura precisa che devi seguire  questa:

1) esporti tutti i db innodb
2) stoppi mysql
3) sposti ibdata* da qualche altra parte
4) modifichi my.cnf aggiungendo innodb_file_per_table
5) riavvii mysql che ti dir che sta ricreando i file di innodb 
(ibdata1 eccetera) ma che ovviamente a questo punto saranno tipo di 4MB 
mi pare
6) reimporti il DB

a questo punto nella directory del DB ti troverai esattamente la stessa 
struttura di file che ti troveresti per un db myisam con la sola 
differenza che invece del file .myd ti trovi un file .idb

mi pare semplice e lineare, no?

Andrea Brancatelli - Raged Records s.r.l.
Amministratore unico - http://ragedrecords.com/



Maggiori informazioni sulla lista Esperti