fișier ibdata1 face parte din InnoDB. și păstrează datele din tabele și indexurile acestora, precum și alte informații de serviciu.
De-a lungul timpului - acest fișier poate crește la proporții destul de obscene.
Pentru a simplifica lucrul cu acest fișier - îl puteți împărți prin crearea unui fișier separat pentru fiecare bază de date și tabele, folosind opțiunea innodb_file_per_table.
În versiunile MySQL 5.6 și mai mare, această opțiune este activată în mod implicit în vârstă - trebuie să efectuați câțiva pași suplimentari.
În acest caz, există:
Creați un director pentru backup-uri:
Creați o copie de siguranță a tuturor bazelor de date existente:
Verificați prezența sa:
Verificați cadrul existent:
Eliminați toate bazele de date, cu excepția bazei de date MySQL si information_schema:
Verificați baza rămasă:
Opriți serverul MySQL:
Ștergeți fișierele vechi:
Șterge toate fișierele jurnal ar trebui să fie - ib_logfil *.
/etc/my.cnf edita fișierul. și blocul [mysqld] adăugați linia
Aici indică faptul că InnoDB trebuie să creeze .ibd fișiere separate și .frm pentru a stoca informații și indexurile pentru fiecare tabel, în loc de ceea ce le-ar păstra într-un singur fișier.
Al doilea parametru - specifică fișierul de locație ibdata1 (deoarece calea nu este specificată - va fi folosit „magazin“ MySQL - / var / lib / mysql), cu o dimensiune inițială de 10 MB, iar creșterea automată, dacă este necesar, la un maxim de 1GB.
Când se atinge limita - se poate să crească sau să adăugați un al doilea fișier, după cum urmează:
Un tabel nativ eroare „performance_schema“. „*“ Are structura greșită până când să acorde o atenție.
Noi restabilim baza noastră de date:
Rulați mysql_upgrade. care ar genera noi baze performance_schema:
Creați un tabel nou în db_1:
Fiecare tabel este stocat într-un fișier separat.
Acum șterge baza de date:
Și verificați fișierele:
Și link-uri utile: