it-roy-ru.com

MySQL сказал: # 1194 - Таблица 'tablename' помечена как сбойная и должна быть исправлена

Если таблицы выходят из строя, значит, что-то не так с моей системой.

MySQL said: 

#1194 - Table 'tablename' is marked as crashed and should be repaired 

Мой сайт в настоящее время не работает из-за этого.

Я знаю, как восстановить таблицу из phpmyadmin, но это безопасный способ ремонта?

Что является важным фактором для этой проблемы?

Вопрос. Вообще, почему происходит сбой таблицы?

Ответы. Это может быть причинами - 

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

  2. Некорректное завершение работы сервера MySQL/Неправильное закрытие таблиц при использовании баз данных.

  3. Больше нагрузки на сервер.

13
Javascript Coder

Прежде всего - существует множество причин сбоя таблицы.

  • сбой жесткого диска
  • внезапная перезагрузка сервера
  • сбой сервера
  • проблемы с прошивкой (рейд контроллер или биос)
  • дефекты в кабельной разводке
  • и т.п.

Восстановление с помощью phpmyadmin в основном аналогично командной строке mysqlrepair. Я бы предложил все починить в командной строке:

mysqlrepair -A --auto-repair
mysqlrepair -A -o

Или начать тестирование:

mysqlrepair -A -c
20
Andreas Rehm

Если вам не нужны инструменты командной строки, и причиной сбоя, скорее всего, является сам MYSQL, запустите его из MYSQL для восстановления таблицы:

REPAIR TABLE db_name.table_name;
12
Dmitry Verhoturov

Да, вы можете восстановить таблицу из phpmyadmin, это не повлияет на ваши данные, а также вы можете восстановить таблицу из командной консоли с помощью команды myisamchk.

4
Bobbin Zachariah

Решение :

Просто зайдите в базу данных и выберите таблицу, в которой возникла проблема, и выберите опцию «восстановить таблицу», это исправит аварийные записи в таблице и решит вашу проблему. 

 enter image description here

1
Hassan Saeed

Использование:

mysqlcheck -u root -p --auto-repair --check --all-databases
(Password prompted)

Введите пароль MySQL для пользователя root и все готово.

1
Abhishek Sharma

Я использую это из командной строки:

mysqlcheck -u root -p --auto-repair --check --optimize --all-databases
1
bgarlock

Если у вас есть ssh доступ к серверу, вы можете войти в систему, а затем выполнить:

df -h

и вы могли видеть что-то вроде этого:

Filesystem            Size  Used Avail Use% Mounted on
/dev/cciss/xxxx      19G  825M   18G   5% /
/dev/cciss/xxxx     9.4G  4.8G  4.2G  54% /usr
/dev/cciss/xxxx      15G  1.8G   12G  13% /var
/dev/cciss/xxxx      19G   18G    0G   0% /opt
/dev/cciss/xxxx     4.7G  243M  4.3G   6% /tmp
/dev/cciss/xxxx     9.4G  1.5G  7.5G  17% /home

Это LAMP установлен на /opt, после того, как у вас есть свободное место на диске, вы можете выполнить запрос (как написано выше):

Repair table db.mytablecrashed

И вы получите в последнем ряду:

Table               OP        Msg_type  Msg_text
...
db.mytablecrashed   repair    status    OK
0
Rodney Salcedo