Иногда таблицы в базе данных mySQL сбой после перезапуска сервера или после потерянного соединения с базой данных. Это произошло несколько раз за последние 3-4 недели. Это, как сообщение об ошибке выглядит следующим образом:Автоматически восстанавливать таблицу db после сбоя или переключиться на InnoDB
145 - Таблица «./xxx/sessions' помечен как поврежденный и должен быть отремонтировали выбрать значение из сессий, где sesskey = „60fa1fab3a3d285cfb7bc1c93bb85f64“и срок>» 1395226673' [ТЭП STOP]
до сих пор это были столы „сессии“ и „whos_online“, которые врезались. Если я отремонтирую таблицы в phpmyadmin, он снова будет работать нормально
После последней аварии я изменил «сеансы» от MyISAM до InnoDB. В таблице «whos_online» по-прежнему используется MyISAM.
Я использую osCommerce 2.2 rc2a, и я ищу любые мысли и предложения по этому вопросу.
Одним из решений может быть изменение обеих этих таблиц на InnoDB, поскольку он должен быть самовосстановлением. Это хорошая или плохая идея?
Еще один будет иметь их в MyISAM и сделать что-то подобное с PHP-файлом, который эхо сообщения об ошибке:
if $error contain "is marked as crashed and should be repaired"
run a table repair script
бы, что быть хорошей или плохой идеей?
Вот мой сервер спецификации База данных: MySQL 5.5.36-ХЛЛ PHP Версия: 5.3.15
Знаете ли вы разницу между MyISAM и InnoDB? Вероятно, это ответ на вопрос, почему вы должны или не должны менять движок таблицы. – Namphibian
Я проделал некоторое чтение об этом в последние дни, но я до сих пор не знаю, как это повлияет на изменение. Я видел, что osCommerce v3.0 использует только Innodb, и Magento (не во всех, atleaste некоторые magento-магазины) использует InnoDB. Поэтому прямой ответ был бы очень оценен. –