Risposte:
Il file ibdata1 è il tablespace di sistema per l'infrastruttura InnoDB.
Contiene diverse classi per informazioni vitali per InnoDB
Clicca qui per vedere una rappresentazione pittorica
Puoi divorziare da Pagine di dati e indici da ibdata1 abilitando innodb_file_per_table . Ciò farà sì che qualsiasi tabella InnoDB appena creata memorizzi i dati e indicizzi le pagine in un .ibdfile esterno .
Esempio
CREATE TABLE mydb.mytable (...) ENGINE=InnoDB;, crea /var/lib/mysql/mydb/mytable.frm
/var/lib/mysql/mydb/mytable.ibdIndipendentemente da dove sia archiviata la tabella InnoDB, la funzionalità di InnoDB richiede la ricerca di metadati della tabella e la memorizzazione e il recupero delle informazioni MVCC per supportare la conformità ACID e l' isolamento delle transazioni .
Ecco i miei precedenti articoli sulla separazione dei dati e degli indici delle tabelle da ibdata1
Oct 29, 2010: Il mio post originale in StackOverflowNov 26, 2011: ERRORE 1114 (HY000) alla riga 6308 nel file & La tabella user_analysis è pienaFeb 03, 2012: Ottimizzazione pianificata delle tabelle in MySQL InnoDBMar 25, 2012: Perché InnoDB memorizza tutti i database in un unico file?Apr 01, 2012: È consigliabile innodb_file_per_table?ib_logfile0, ib_logfile1)Se vuoi sapere a cosa servono ib_logfile0e ib_logfile1sono i registri di ripristino di InnoDB. Non dovrebbero mai essere cancellati o ridimensionati fino a quando non si è verificato un arresto normale completo di mysqld . Se mysqld si arresta in modo anomalo, basta avviare mysqld. Leggerà ib_logfile0e ib_logfile1verificherà eventuali modifiche ai dati che non sono state registrate nel doppio buffer di scrittura ibdata1. Ripeterà (ripristinerà) quei cambiamenti. Una volta riprodotti e archiviati, mysqld diventa pronto per le nuove connessioni DB.
innodb_file_per_table disabled, Data/Index Pages Stored in /var/lib/mysql/mydb/mytable.ibde innodb_file_per_table enbled, Data/Index Pages Stored in ibdata1dovrebbe essere viceversa, no?