"tbl_name.frm" файл "tbl_name. MYD "Data File" tbl_name. MYI" индексен файл Всеки от тези 3 типа файлове може да страда от различни форми на повреда, но проблемът най-често възниква при файлове с данни и индексни файлове. myisamchk създава ". MYD" (data) файл работи, като премахва стария ". MYD и преименувам новия файл на оригиналното име, за да прекратим фазата на ремонт. Ако използвате --бързо, myisamchk не създава временен ". MYD" файл, само предполагам". MYD" е правилен и създава само нов индексен файл, без да се докосва". MYD", което е безопасно, защото myisamchk автоматично разпознава". MYD" файлът е повреден и в този случай трябва да се откаже от ремонта. Можеш също да дадеш на myisamchk две — бързи опции. В този случай myisamchk не се отказва от някои грешки (като повтарящи се клавиши), а вместо това се опитва да модифицира ". MYD", за да ги разреши. Обикновено е полезно само ако реализирате нормално решение на твърде малко свободно дисково пространство, използвайки двете --бързи опции. В този случай поне трябва да направиш резервно копие преди да стартираш myisamchk. 1. Как да проверим грешките в таблицата За да проверите таблица, използвайте следната команда: myisamchk tbl_name Това улавя 99.99% от всички грешки. Това, което не може да се установи, е, че корупцията е свързана само с файловете с данни (което е рядко). Ако искаш да провериш таблица, обикновено трябва да пуснеш myisamchk без опция или да използваш някоя от опциите -s или --silent. myisamchk -e tbl_name Прави напълно подробна проверка на данните (-e означава "разширена проверка"). Прави проверка на четене на всеки ред, за да се потвърди, че сочи към правилния ред. Това може да отнеме много време на голяма маса с много ключове. Myisamchk обикновено спира след като намери първата грешка. Ако искате повече информация, можете да добавите опцията --verbose(-v). Това кара myisamchk да продължи до максимум 20 грешки. В общата употреба прост мисамчк (без аргументи, освен името на таблицата) е достатъчен. myisamchk -e -i tbl_name Както при предишната команда, но опцията -i казва на myisamchk да отпечата някои статистики. 2. Как да поправим масата Симптомът на повредена таблица обикновено е неочаквано прекъсване на заявката, и можете да видите, например, следните грешки: "tbl_name.frm" е заключен и не може да бъде променян. Не може да се намери файлът "tbl_name. MYI"(Errcode :### )。 Вземете грешка ### от процесора за таблици (в този случай грешка 135 е изключение). Неочакван край на файла. Архивите бяха унищожени. В тези случаи трябва да оправите масата. Myisamchk обикновено открива и оправя повечето проблеми, които се объркат. Процесът на ремонт се състои от до 4 етапа, описани по-долу. Преди да започнете, трябва да CD-вате разрешения за директорията на базата данни и файловете с контролни списъци, за да сте сигурни, че са четими за потребителите на Unix с mysqld (и за вас, тъй като ви трябва достъп до файла, който проверявате). Ако отказва да модифицира файла, те също трябва да са записани за вас. Фаза 1: Проверете вашата маса Бягай myisamchk *. MYI или (myisamchk -e *. MYI, ако имаш повече време). Използвайте опцията -s (тишина), за да изключите ненужната информация.
Файловият формат, използван от MySQL за съхранение на данни, е бил обстойно тестван, но винаги има външни условия, които могат да причинят повреда на таблиците в базата данни: Процесът на MySQL се убива с едно писане; Неочаквано изключване на компютъра (например, ако компютърът загуби захранване); Хардуерна грешка. Тази глава описва как да се проверява и обработва повреда на данни в MySQL база данни. Ако масата ви е много повредена, опитайте да разберете защо! Вижте G.1 Отстраняване на грешки на MySQL сървър. При извършване на възстановяване след срив е важно да се разбере, че всяка таблица в база данни tbl_name съответства на трите файла в директорията с бази данни |