MySQL сказал: # 1194 - Таблица "tablename" помечена как разбитая и должна быть исправлена
Если таблицы разбиваются, это означает, что в моей системе что-то не так.
MySQL said:
#1194 - Table 'tablename' is marked as crashed and should be repaired
Мой сайт в настоящее время недоступен из-за этого.
Я знаю, как отремонтировать таблицу из phpmyadmin, но безопасный способ ее восстановления?
Каков важный фактор для этой проблемы?
Вопрос. Как правило, почему таблица разбилась?
Ответы. Это могут быть причины -
-
Объем дискового пространства сервера был заполнен. (Пожалуйста, проверьте место на диске в реальном времени)
-
Неверное завершение работы сервера MySQL/неправильное закрытие таблиц при использовании баз данных.
-
Больше нагрузки на сервер.
Ответы
Ответ 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