Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как избавить от ошибки Table './имя бд/таблица' is marked as crashed and last (automatic?) repair failed?

Как избавить от ошибки Table './имя бд/таблица' is marked as crashed and last (automatic?) repair failed?


     24.08.2016    Общие вопросы, MySQL    9848

вопрос
Часто стала появляется это ошибка, рушатся таблицы, как устранить это проблему!

Вот сегодня в 6:33ч рухнула таблица и сайт лежал 4 часа (не приятно) нагрузку на сервер(vds) была 20%, на 6ч стоит бэкап базы данных mysql, база весит 300мб и не может занять 30мин (как я думаю)

Debian 7
Apache 2.2.22-13
MySQL 5.5.50-0
PHP 5.4.45-0
Perl 5.14.2-21
Kernel 3.2.0-4

Есть панель ispmgr с мониторингом служб

Причина ошибки: '.Table './имя бд/таблица' is marked as crashed and last (automatic?) repair failed.'
Номер ошибки: '.144.'

Лечится: myisamchk --safe-recover -o -f /var/lib/mysql/имя бд/таблица.MYI

Спасибо за внимание!

Ответа пока нет


25 комментариев

malukyan
Юзер

malukyan - 24 августа 2016 12:23 -

попробуйте в разделе Управление базой данных выполнить ремонт базы данных
или же
Попробуй зайти в phpMyAdmin и выполнить:
REPAIR TABLE `dle_post`


Данная ошибка означает, что в базе данных database-name повреждена таблица table-name.

Для восстановления поврежденной таблицы БД выполните следующие шаги:

войдите в cPanel
в блоке "Базы данных" выберите phpMyAdmin
с левой стороны в вертикальном списке выберите базу данных database-name
в центральной части в списке таблиц выбранной базы данных отметьте галочкой поврежденную таблицу table-name
под таблицей в центральной части из выпадающего списка выберите действие "Восстановить таблицу"
Альтернативный вариант: выполните SQL запрос
 REPAIR TABLE `database-name`.`table-name` 

G-Force
Юзер

G-Force - 24 августа 2016 12:42 -

Ремонт бд я сделал, как сделать чтобы не крошились таблицы?

irrwisch
Юзер

irrwisch - 24 августа 2016 12:53 -

Посмотреть логи, что бы понять по какой именно причине ломается БД, а потом уже начинать танцы с бубном, что бы предотвратить дальнейшее повторение падения.

G-Force
Юзер

G-Force - 24 августа 2016 13:25 -

mysql.log


И потом все 4ч каждый 2сек в логах
160824 5:02:09 [ERROR] /usr/sbin/mysqld: Table './имя бд/таблица' is marked as crashed and last (automatic?) repair failed

....

160824 10:25:20 [ERROR] /usr/sbin/mysqld: Table './имя бд/таблица' is marked as crashed and last (automatic?) repair failed

G-Force
Юзер

G-Force - 24 августа 2016 13:33 -

Можно сделать чтобы таблица сама ремонтировалась, автоматически?

myisamchk -css /var/lib/mysql/ имя бд /*.MYI
myisamchk --safe-recover -o -f /var/lib/ имя бд/таблица/*.MYI

irrwisch
Юзер

irrwisch - 24 августа 2016 13:43 -

Цитата: G-Force
Можно сделать чтобы таблица сама ремонтировалась, автоматически?

Можно

<?  
#!/usr/bin/php  -q  
$database="test";  
mysql_connect("localhost",  "root",  "$database");  
$res=mysql_query("SHOW  TABLES  IN  $database;");  
while  (  $o=mysql_fetch_row($res)  )  
{  
  $res_ch=mysql_query("CHECK  TABLE  $database.$o[0]  EXTENDED;");  
  $o_ch=mysql_fetch_row($res_ch);  
  $o_rp[3]="No";  
  if  (  $o_ch[3]!="OK"  )  
  {  
    $res_rp=mysql_query("REPAIR  TABLE  $database.$o[0]  EXTENDED;");  
    $o_rp=mysql_fetch_row($res_rp);  
  }  
  $res_op=mysql_query("OPTIMIZE  TABLE  $database.$o[0]  EXTENDED;");  
  $o_op=mysql_fetch_row($res_op);  
  echo  "$o[0]  CHECK:$o_ch[3]  REPAIR:  $o_rp[3],  OPTIMIZE:  $o_op[3]\n";  
}  
?>

данный скрипт запускаем по крону (скажем каждые 15 минут), и если БД лежит, то будет запускаться её восстановление.

G-Force
Юзер

G-Force - 25 августа 2016 00:01 -

Спасибо большое, буду подключать, вы тестировали лично? Как я понимаю он будет делать только ту таблицу где ошибка? Еще раз спасибо!

irrwisch
Юзер

irrwisch - 25 августа 2016 00:04 -

Сам не тестировал, так как я привык решать корень проблемы, что бы её не было, а не исправлять постоянно одну и ту же ошибку

G-Force
Юзер

G-Force - 25 августа 2016 00:11 -

Я не знаю куда копать с радость убрал бы эту проблему, вы по логам ничего не видите?
Про скрип, к примеру, если я поставлю каждый 1мин. проверку нагрузка будет большая?

irrwisch
Юзер

irrwisch - 25 августа 2016 00:20 -

Цитата: G-Force
вы пологам ничего не видите?

я ваши логи даже не смотрел, мне это ни к чему.
Цитата: G-Force
Про скрип, к примеру, если я поставлю каждый 1 мин проверку нагрузка будет большая?

проверьте, не знаю, говорю же не пользовался данным скриптом, нашёл у кого то из хостеров, но я бы не стал делать проверку чаще чем раз в 15 минут.

G-Force
Юзер

G-Force - 26 августа 2016 12:02 -

Не хочет соединятся с бд, не подскажите что я делаю не так?

<?php
#!/usr/bin/php  -q
$database="test"; // Название базы данных
mysql_connect("localhost", "mysql_user", "mysql_password", "$database"); // Сервер, Имя пользователя, Пароль
$res=mysql_query("SHOW TABLES IN ".$database.";");
while ( $o=mysql_fetch_row($res) )
{
$res_ch=mysql_query("CHECK TABLE $database.$o[0] EXTENDED;");
$o_ch=mysql_fetch_row();
$o_rp[3]="No";
if ( $o_ch[3]!="OK" )
{
$res_rp=mysql_query("REPAIR TABLE $database.$o[0] EXTENDED;");
$o_rp=mysql_fetch_row();
}
$res_op=mysql_query("OPTIMIZE TABLE $database.$o[0] EXTENDED;");
$o_op=mysql_fetch_row();
echo "$o[0] CHECK:$o_ch[3] REPAIR: $o_rp[3], OPTIMIZE: $o_op[3]\n";
}

print "База данных ".$database." проверенна и оптимизированна.<br>\n";
?>

vitnet
PHP-developer

vitnet - 24 августа 2016 16:36 -

300 метров и краш? Жесть!

Что же это за VPS такой, 100mb оперативы?

G-Force
Юзер

G-Force - 25 августа 2016 00:01 -

Если бы 100mb не так обидно!
Хостинг 1vds_ru

Виртуализация: KVM
Дисковая система: HDD+SSD
Процессор: 4 ядра по 2.4 ГГц
Оперативная память: 4 Гб
ISPmanager 5 Lite

malukyan
Юзер

malukyan - 25 августа 2016 10:44 -

Меняй хостера на beget. Не дорогой хостинг, всегда дружелюбные ребята в тех поддержке. Советую!

malukyan
Юзер

malukyan - 25 августа 2016 11:05 -

и плюс помогут за бесплатно перенести сайт

irrwisch
Юзер

irrwisch - 25 августа 2016 11:19 -

Какая разница у какого хостера брать vps? главное что бы uptime ноды был близок к 100%. Проблемы всё равно самому решать придётся....

malukyan
Юзер

malukyan - 25 августа 2016 11:54 -

Большую часть решить поможет хостер. я уже 5 лет сижу на нем и ни одного косяка с их стороны не было, сайт за все это время один раз только ломался. Плюс у них идет бекап фалов и БД до 2-х раз в сутки.

irrwisch
Юзер

irrwisch - 25 августа 2016 13:06 -

Вы не путайте shared хостинг с vps, никто не будет делать Вам бэкап файлов и БД (кроме Вас самих),если у вас сайт на vps.

HELP-ROOT
Юзер

HELP-ROOT - 25 августа 2016 13:50 -

G-Force

Если бы 100mb не так обидно!
Хостинг 1vds_ru

Виртуализация: KVM
Дисковая система: HDD+SSD
Процессор: 4 ядра по 2.4 ГГц
Оперативная память: 4 Гб
ISPmanager 5 Lite
,

Могу помочь с настройкой Вашей виртуалки, так как все проблемы от сюда.

G-Force
Юзер

G-Force - 25 августа 2016 14:08 -

HELP-ROOT,
Хорошо, если сам не решу, обращусь к вам!
Вы профессионально настраиваете сервер?
И сколько будет стоить настройка с 0 только будет панель ISPmanager 5 Lite?

HELP-ROOT
Юзер

HELP-ROOT - 25 августа 2016 14:10 -

G-Force

Если бы 100mb не так обидно!
Хостинг 1vds_ru

Виртуализация: KVM
Дисковая система: HDD+SSD
Процессор: 4 ядра по 2.4 ГГц
Оперативная память: 4 Гб
ISPmanager 5 Lite,
,

Покажите реальный конфиг через выхлоп консоли машины, а не тот, что указан на сайте хостера.
Как Вы ставили эту виртуалку? Через пайковые образы OS+ISP?
Если, да, то, переустановите OS (советую Debian, самая стабильная ось). То есть, поставьте мин образ и накатите сами панель, и будет все оке.
Пайковые образы иногда встают очень кривенько =)

G-Force
Юзер

G-Force - 25 августа 2016 14:36 -

Выбрал шаблон подождал пока установится, а потом настроил php, cron и т.д.
Debian-7-amd64 + ISPmanager 5 Lite

HELP-ROOT
Юзер

HELP-ROOT - 25 августа 2016 14:16 -

G-Force,
Вы профессионально настраиваете сервер?
Я не гуру в этом деле =), но кое что могу.
А лучше, не гонитесь за VPS-ми, так как они тоже облимичены и зависят от физ сервера, лучше используйте обычный шаред.
Отпадет геморой с администрированием и прочим =)

HELP-ROOT
Юзер

HELP-ROOT - 25 августа 2016 14:53 -

G-Force

Выбрал шаблон подождал пока установится, а потом настроил php, cron и т.д.
Debian-7-amd64 + ISPmanager 5 Lite
,

Если хотите, то поставьте образ чистого Debian, дайте доступ SSH, я Вам поставлю на него ISP или любую другую панель на Ваш выбор +сделаю все начальные настройки бесплатно =)
Если нужны другие сервисы, такие как собственный jabber и прочее, поставлю и настрою за определенную плату.

ShvedAn
Юзер

ShvedAn - 20 июля 2020 14:48 -

У меня возникала аналогичная проблема. Подготовил инструкцию по восстановлению https://capyba.ru/blog/table-name-is-marked-as-crashed-and-last-automatic-repair-faile/

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх