Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 12936|Отговор: 0

[Източник] Ще те науча как да използваш Myisamchk за възстановяване след срив MySQL

[Копирай линк]
Публикувано в 15.11.2017 г. 13:23:05 ч. | | |

"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 съответства на трите файла в директорията с бази данни




Предишен:mysql #1062 – Дублиран запис '1' за ключ 'PRIMARY'
Следващ:MySQL разглежда SQL оператори, които се изпълняват в реално време
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com