Подтвердить что ты не робот

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

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

MySQL said: 

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

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

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

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

Вопрос. Как правило, почему таблица разбилась?

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

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

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

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

4b9b3361

Ответ 1

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

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

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

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

Или запустите тест:

mysqlrepair -A -c

Ответ 2

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

REPAIR TABLE db_name.table_name;

Ответ 3

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

Ответ 4

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

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

Ответ 5

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

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

Введите пароль MySQL для пользователя root, и все будет сделано.

Ответ 6

Решение:

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

введите описание изображения здесь

Ответ 7

Если у вас есть 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