|
|
|
| Помогите!!!
На сайте одна таблица стала выдавать ошибку, захожу через mysqladmin вижу все нормально, на против одной таблицы сплошная запись - "используется", то ечсть просмотр и вставка не активны, свойства активны, захожу и выдает ответ:
SHOW INDEX FROM `produce` ;
Ответ MySQL:
#145 - Table './hotsale/produce' is marked as crashed and should be repaired
что это может быть, когда в определенной базе не пашет только одна таблица?
спасибо!!! | |
|
|
|
|
|
|
|
для: AN
(20.05.2009 в 03:37)
| | не знаю, перегружать мускул, или может он сам чето с ней решит? | |
|
|
|
|
|
|
|
для: AN
(20.05.2009 в 03:37)
| | Таблица побита, попробуйте восстановить её оператором REPAIR TABLE (Удобнее воспользоваться соответствующей ссылкой в phpMyAdmin). | |
|
|
|
|
|
|
|
для: cheops
(20.05.2009 в 12:52)
| | ничего не помогло, ничего не работает, получилось только удалить таблицу и восстановить из дампа.
Подскажите, с чем связана эта проблема, и из за чего она могла случится? | |
|
|
|
|
|
|
|
для: AN
(20.05.2009 в 15:54)
| | Таблицы иногда рушаться, например, если сервер был нештатно остановлен, или бинарное представление копировали при неостановленном сервере, иногда просто бывают сбои. Вернее мелкие сбои бывают регулярно, однако при перезагрузке, сервер обычно успешно их устраняет самостоятельно, когда первичное восстановление не помогает - он выдает такое сообщение об ошибке. Существуют множество способов восстанавливать таблицы, как при помощи SQL-операторов, так и при помощи специальных утилит, можно включить подсчет контрольных сумм для таблицы - это также повышает вероятность восстановления таблиц после краха (однако, немного замедляет работу таблицы). | |
|
|
|
|
|
|
|
для: cheops
(21.05.2009 в 01:23)
| | а как включить подсчет контрольных сумм для таблицы ???
это где то в настройках мускула? | |
|
|
|
|
|
|
|
для: AN
(21.05.2009 в 13:13)
| | Нет, это параметр таблицы, изменить его можно, например, при помощи оператора ALTER TABLE
ALTER TABLE tbl CHECKSUM = 1;
|
| |
|
|
|
|
|
|
|
для: cheops
(22.05.2009 в 11:18)
| | Блин, оказалось таблица сыпалась по причине переполненного диска ... | |
|
|
|
|
|
|
|
для: AN
(22.05.2009 в 23:54)
| | подскажите, а что именно дает включение подсчета контрольных сумм для таблицы ???
как это сказывается на производительности?
и есть ли гарантия 100% восстановления таблицы если она посыпется ?
спасибо | |
|
|
|
|
|
|
|
для: AN
(30.05.2009 в 13:39)
| | Дело в том, что если таблица порушена, при перезагрузке сервера, сервер пытается её восстановить - контрольные суммы повышают вероятность удачного восстановления. Производительность это снижает - так как при изменении данных - нужно пересчитывать контрольные суммы, 100% гарантии это дать не может - так как все сильно зависит от рода повреждения - если у вас пропал файл с данными и осталась только структура таблицы - восстановиться вы сможете только из бинарного лога и то, если у вас есть изначальный дамп и точка в логе, соответствующая моменту снятия дампа. | |
|
|
|
|
|
|
|
для: cheops
(30.05.2009 в 14:11)
| | а пересчет контрольных сумм сервером, на сколько сложная процедура?
то есть базы юзают каждую минуту, а то и секунду...
как вы думаете, на сколько % повысится нагрузка ? | |
|
|
|
|
|
|
|
для: AN
(30.05.2009 в 18:17)
| | >а пересчет контрольных сумм сервером, на сколько сложная процедура?
Это зависит от объема и структуры записи - если в записи базы данных хранится несколько мегабайт текста - каждая операция вставки или редактирования такой записи будет перелопачиваться несколько мегабайт, если хранится несколько байт - несколько байт. Затрачиваемое время может сильно разниться - в общем ситуация такая же, как с ключами.
>то есть базы юзают каждую минуту, а то и секунду...
>как вы думаете, на сколько % повысится нагрузка ?
Если это в основном SELECT-запросы, практически не отразится, так в этом случае пересчитывать контрольную сумму нет надобности. | |
|
|
|
|
|
|
|
для: cheops
(31.05.2009 в 01:55)
| | спасибо! | |
|
|
|