Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Что за глюк? - is marked as crashed and should be repaired
 
 автор: AN   (20.05.2009 в 03:37)   письмо автору
 
 

Помогите!!!

На сайте одна таблица стала выдавать ошибку, захожу через mysqladmin вижу все нормально, на против одной таблицы сплошная запись - "используется", то ечсть просмотр и вставка не активны, свойства активны, захожу и выдает ответ:
SHOW INDEX FROM `produce` ;
Ответ MySQL:
#145 - Table './hotsale/produce' is marked as crashed and should be repaired

что это может быть, когда в определенной базе не пашет только одна таблица?

спасибо!!!

  Ответить  
 
 автор: AN   (20.05.2009 в 03:41)   письмо автору
 
   для: AN   (20.05.2009 в 03:37)
 

не знаю, перегружать мускул, или может он сам чето с ней решит?

  Ответить  
 
 автор: cheops   (20.05.2009 в 12:52)   письмо автору
 
   для: AN   (20.05.2009 в 03:37)
 

Таблица побита, попробуйте восстановить её оператором REPAIR TABLE (Удобнее воспользоваться соответствующей ссылкой в phpMyAdmin).

  Ответить  
 
 автор: AN   (20.05.2009 в 15:54)   письмо автору
 
   для: cheops   (20.05.2009 в 12:52)
 

ничего не помогло, ничего не работает, получилось только удалить таблицу и восстановить из дампа.

Подскажите, с чем связана эта проблема, и из за чего она могла случится?

  Ответить  
 
 автор: cheops   (21.05.2009 в 01:23)   письмо автору
 
   для: AN   (20.05.2009 в 15:54)
 

Таблицы иногда рушаться, например, если сервер был нештатно остановлен, или бинарное представление копировали при неостановленном сервере, иногда просто бывают сбои. Вернее мелкие сбои бывают регулярно, однако при перезагрузке, сервер обычно успешно их устраняет самостоятельно, когда первичное восстановление не помогает - он выдает такое сообщение об ошибке. Существуют множество способов восстанавливать таблицы, как при помощи SQL-операторов, так и при помощи специальных утилит, можно включить подсчет контрольных сумм для таблицы - это также повышает вероятность восстановления таблиц после краха (однако, немного замедляет работу таблицы).

  Ответить  
 
 автор: AN   (21.05.2009 в 13:13)   письмо автору
 
   для: cheops   (21.05.2009 в 01:23)
 

а как включить подсчет контрольных сумм для таблицы ???
это где то в настройках мускула?

  Ответить  
 
 автор: cheops   (22.05.2009 в 11:18)   письмо автору
 
   для: AN   (21.05.2009 в 13:13)
 

Нет, это параметр таблицы, изменить его можно, например, при помощи оператора ALTER TABLE
ALTER TABLE tbl CHECKSUM = 1;

  Ответить  
 
 автор: AN   (22.05.2009 в 23:54)   письмо автору
 
   для: cheops   (22.05.2009 в 11:18)
 

Блин, оказалось таблица сыпалась по причине переполненного диска ...

  Ответить  
 
 автор: AN   (30.05.2009 в 13:39)   письмо автору
 
   для: AN   (22.05.2009 в 23:54)
 

подскажите, а что именно дает включение подсчета контрольных сумм для таблицы ???
как это сказывается на производительности?
и есть ли гарантия 100% восстановления таблицы если она посыпется ?

спасибо

  Ответить  
 
 автор: cheops   (30.05.2009 в 14:11)   письмо автору
 
   для: AN   (30.05.2009 в 13:39)
 

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

  Ответить  
 
 автор: AN   (30.05.2009 в 18:17)   письмо автору
 
   для: cheops   (30.05.2009 в 14:11)
 

а пересчет контрольных сумм сервером, на сколько сложная процедура?
то есть базы юзают каждую минуту, а то и секунду...
как вы думаете, на сколько % повысится нагрузка ?

  Ответить  
 
 автор: cheops   (31.05.2009 в 01:55)   письмо автору
 
   для: AN   (30.05.2009 в 18:17)
 

>а пересчет контрольных сумм сервером, на сколько сложная процедура?
Это зависит от объема и структуры записи - если в записи базы данных хранится несколько мегабайт текста - каждая операция вставки или редактирования такой записи будет перелопачиваться несколько мегабайт, если хранится несколько байт - несколько байт. Затрачиваемое время может сильно разниться - в общем ситуация такая же, как с ключами.

>то есть базы юзают каждую минуту, а то и секунду...
>как вы думаете, на сколько % повысится нагрузка ?
Если это в основном SELECT-запросы, практически не отразится, так в этом случае пересчитывать контрольную сумму нет надобности.

  Ответить  
 
 автор: AN   (09.06.2009 в 03:49)   письмо автору
 
   для: cheops   (31.05.2009 в 01:55)
 

спасибо!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования