O mulțime de site-uri si motoare de servicii utilizează pentru a stoca informații de baze de date, iar cele mai populare, în opinia mea, este considerat MySQL.
Pentru a preveni pierderea de informații ar trebui să facă backup-uri regulate, dar ce să facă în cazul în care masa este deteriorat ca urmare a unui software sau hardware eșec, sau finalizarea serviciului MySQL de urgență din orice motiv?
În cazul tabelelor în format MyISAM, aceasta poate fi rezolvată foarte simplu folosind phpMyAdmin (așa cum se arată în captura de ecran) de la terminalul sau consola:
Cu formatul InnoDB totul va fi mai complicat. Inițial, acest format a fost proiectat cu speranța că va fi singur pentru a recupera tabele corupte. Dar există momente în care prejudiciul poate fi severă și afectează performanța tuturor serverul de baze de date MySQL.
În acest caz, a fost creat de recuperare a funcției, care este inclus parametrul innodb_force_recovery în fișierul de configurare MySQL. Fișierul poate fi în /etc/mysql/my.cnf /etc/my.cnf sau folosind Linux.
În mod implicit, această opțiune este dezactivată și folosiți-o să fie foarte atent, deoarece există riscul de a pierde date în permanență. Parametrul este adăugat la secțiunea „[mysqld]“
Valorile parametrilor pot varia de la 0 (oprit) la 6. Iar pentru serverul MYSQL cerere trebuie să fie repornit.
Rețineți că innodb_force_recovery valoarea de mai sus „0“ pentru a fi modificat numai în cazuri extreme, și numai în cazul în care lucrările de reconstrucție cu tabele de baze de date. Mai jos considerăm valoarea parametrului, ceea ce înseamnă și în ce scop ar trebui să fie aplicate.
Când decideți să utilizați opțiunea innodb_force_recovery, se recomandă să se înceapă cu 1 și crește treptat, după cum este necesar. Odată cu creșterea valorii adăugate la parametri de care sunt necesare pentru a accesa datele. De exemplu, valoarea 3 include parametrii care au fost utilizate atunci când valorile 1 și 2.
Doar pentru a vă reaminti că, în timpul lucrărilor, nu ar trebui să fie orice funcții operațiuni INSERT, UPDATE sau DELETE Accesul, adică la baza de date care urmează să fie read-only, și numai pentru administrator.
Listă valorile parametrilor innodb_force_recovery:
Acesta permite unui server să înceapă chiar și în cazul InnoDB datelor daune. După ce a început, încercați să faceți o selecție din tabel - SELECT * FROM <таблица>.
Acesta împiedică funcționarea firul principal. În cazul în care eșecul a avut loc în procesul de curățare, această opțiune ar interzice Restart sa
Ea nu permite recuperarea de revenire după un prejudiciu
Împiedică îmbinare tampon de operare creat statistici COUNT INSERT.Tak nu a fost dezactivată. Acest parametru innodb_force_recovery valoare poate în cele din urmă corupe datele. După utilizarea acestuia ar trebui să fie curățate și re-crea toate indexurile secundare.
Nu acorde atenție la fișierele jurnal, care sunt stocate copii ale tranzacțiilor incomplete atunci când începe server. Acest parametru innodb_force_recovery valoare poate în cele din urmă corupe datele.
Nu se apelează din tranzacțiile nealiniate. Acest parametru innodb_force_recovery valoare poate în cele din urmă corupe datele.
Odată ce valoarea este expusă, este posibil să se facă ca SELECT din tabele pentru a sdampit date sau DROP / CREATE pentru a recrea tabelele. Când este setat la „6“, se recomandă să utilizați numai cele mai simple funcții, cum ar fi SELECT * FROM <таблица>, deoarece mai multe interogări complexe pot deteriora în cele din urmă datele. Țineți evidența datelor, face o copie de rezervă în mod regulat.