Súbor "tbl_name.frm" definícia tabuľky "tbl_name. MYD "Dátový súbor" tbl_name. MYI" indexový súbor Každý z týchto troch typov súborov môže trpieť rôznymi formami poškodenia, no problém sa najčastejšie vyskytuje v dátových a indexových súboroch. myisamchk vytvára ". MYD" (dáta) súbor funguje, funguje tak, že odstráni starý ". Súbor MYD a nový súbor premenujem na pôvodný názov súboru, čím ukončíme fázu opravy. Ak použijete --quick, myisamchk nevytvorí dočasné ". MYD" súbor, len predpokladám". MYD" je správny a vytvára len nový indexový súbor bez zásahu". MYD", čo je bezpečné, pretože myisamchk automaticky detekuje". Súbor MYD" je poškodený a v tomto prípade je potrebné opravu opustiť. Môžeš tiež dať myisamchk dve – rýchle možnosti. V tomto prípade myisamchk sa nevzdáva niektorých chýb (ako sú opakujúce sa klávesy), ale namiesto toho sa snaží upraviť ". MYD" na ich vyriešenie. Zvyčajne je to užitočné len vtedy, ak implementujete bežnú opravu na príliš malom voľnom mieste na disku, používajúc dve rýchle možnosti. V takom prípade by ste si mali aspoň urobiť zálohu pred spustením myisamchk. 1. Ako skontrolovať chyby v tabuľke Na kontrolu tabuľky použite nasledujúci príkaz: myisamchk tbl_name To zachytí 99,99 % všetkých chýb. Čo však nedokáže zistiť, je, že poškodenie je prítomné iba v dátových súboroch (čo je nezvyčajné). Ak chcete skontrolovať tabuľku, zvyčajne by ste mali spustiť myisamchk bez tejto možnosti alebo použiť niektorú z možností -s alebo --tichého. myisamchk -e tbl_name Vykonáva úplne dôkladnú kontrolu dát (-e znamená "rozšírená kontrola"). Na každom riadku vykoná kontrolu prečítaného kľúča, aby potvrdil, že smeruje na správny riadok. Na veľkom stole s mnohými klávesmi to môže trvať dlho. myisamchk sa zvyčajne zastaví po nájdení prvej chyby. Ak chcete viac informácií, môžete pridať možnosť --verbose(-v). To spôsobí, že myisamchk pokračuje až do maximálne 20 chýb. Vo všeobecnom používaní postačuje jednoduchý myisamchk (bez argumentov okrem názvu tabuľky). myisamchk -e -i tbl_name Rovnako ako predchádzajúci príkaz, ale možnosť -i hovorí myisamchkovi, aby vytlačil aj nejaké štatistiky. 2. Ako opraviť stôl Príznakom poškodenej tabuľky je zvyčajne neočakávané prerušenie dotazu a môžete vidieť napríklad tieto chyby: "tbl_name.frm" je uzamknuté a nemožno ho zmeniť. Nepodarilo sa nájsť súbor "tbl_name. MYI"(Errcode :### )。 Získajte chybu ### z procesora tabuliek (v tomto prípade je chyba 135 výnimkou). Nečakaný koniec súboru. Záznamové súbory boli zničené. V takýchto prípadoch musíte stôl opraviť. myisamchk zvyčajne rozpozná a opraví väčšinu problémov, ktoré sa pokazia. Proces opravy pozostáva až zo 4 fáz, ktoré sú popísané nižšie. Predtým, než začnete, mali by ste pridať CD oprávnenia k databázovému adresáru a kontrolným súborom, aby ste sa uistili, že sú čitateľné pre unixových používateľov používajúcich mysqld (a pre vás, pretože potrebujete prístup k súboru, ktorý kontrolujete). Ak odmietne súbor upraviť, musia byť tiež zapisovateľné na vás. Fáza 1: Skontrolujte svoj stôl Bež myisamchk *. MYI alebo (myisamchk -e *. MYI, ak máš viac času). Použite možnosť -s (ticho) na deaktiváciu zbytočných informácií.
Formát súboru, ktorý MySQL používa na ukladanie dát, bol dôkladne testovaný, ale vždy existujú vonkajšie podmienky, ktoré môžu spôsobiť poškodenie databázových tabuliek: proces mysqld je ukončený jedným zápisom; Neočakávané vypnutie počítača (napríklad ak počítač stratí napájanie); Hardvérová chyba. Táto kapitola popisuje, ako kontrolovať a riešiť poškodenie dát v databáze MySQL. Ak je váš stôl často poškodený, mali by ste zistiť prečo! Pozri G.1 Debugging a MySQL server. Pri obnove po páde je dôležité pochopiť, že každá tabuľka v databáze tbl_name zodpovedať trom súborom v databázovom adresári |