Abonnér på nyhedsbrev eller RSS-feed til at modtage opdateringer automatisk blog!

Reparation beskadiget tabeller om MYSQL



For et par dage siden begyndte jeg at opdage en masse fejl på php-statistik i forbindelse med at det er umuligt at køre en række forespørgsler fra forskellige tabeller.
De beskeder, der modtages var af denne type:
# 1016 - Kan ikke åbne filen: 'nometabella.MYI «(Errno: 130)
I begyndelsen jeg forventede, det var et problem på grund af en mætning af plads til db, så jeg har omfordelt et andet par MB, men ikke mærke forbedringer efter to dage begyndte jeg at bekymre dig. Søger på Google for fejlmeddelelsen ovenfor, jeg fandt kun en dokument om betydelige, at de indberettede et lignende problem og foreslog, at groped at løse problemet ved at køre følgende SQL-kommando:

 REPAIR TABLE nometabella; 

I mit tilfælde jeg formået at gemme kun en af tre tabeller og korrupte Men så spurgte jeg et råd (og også om præciseringer) til støtte for Tophost der besvarede kunne være interesserede i kommandoen:

 REPAIR TABLE nometabella USE_FRM; 

I dette tilfælde skal reparationen har været vellykket og php-stats synes at have taget for at fungere korrekt. Senere, men jeg ønskede at prøve at forstå nogle 'bedste mindst til betydningen og de mulige konsekvenser af disse tiltag for at genoprette denne henseende, og jeg sætter en søgning på "MySQL 5.0 Reference Manual", som i "REPARATION TABELPOSITION Syntax" er ganske udtømmende .
Så jeg kunne forstå, at:

  • Årsagen til korruption tabeller, eller mere præcist indeks, er næsten altid på grund af en pludselig nedbrud af BF; nødt til at forstå, hvor stor en procentdel af ansvar bæres af hosting ...
  • Kommandoen REPARATION TABELPOSITION nometabella; simpelthen forsøge at rekonstruere den indeks fil;
  • Kommandoen REPARATION TABELPOSITION nometabella USE_FRM; skal anvendes i tilfælde, hvor indeks-fil er ikke mere, eller når overskriften er korrupt. Mulighed USE_FRM årsager filen. MYI genskabes fra filen. FRM, så denne foranstaltning er mere radikal og farlig. Det samme reference MySQL siger: "Brug kun denne funktion, hvis du ikke kan bruge almindelig reparation transportformer. Den. MYI header indeholder vigtige tabellen metadata (især nuværende AUTO_INCREMENT værdi og Slet link), der er gået tabt i REPARATION USE_FRM .... Må ikke anvendes USE_FRM hvis tabellen er komprimeret, fordi disse oplysninger er også gemt i den. MYI fil. "


Har du gerne denne artikel? Tilmeld dig nu for at modtage opdateringer eller nyhedsartikler:
Abonner på RSS-feeds skrive til RSS-feed


Stadig ingen kommentarer »

Kommentarer RSS-feed for dette indlæg. TrackBack URI

Efterlad en kommentar

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


Nothing2Hide © 2006 All rights reserved.

License | Ansvarsfraskrivelse

Luk
Send e-mail