Перейти к содержанию
Форум поддержки пользователей VamShop

Ошибка БД


Рекомендуемые сообщения

Вчера столкнулись с такой проблемой в админпанели: на странице списка всех заказов видим сообщение об ошибке с MySQL, сам список заказов отсутствует. 
При этом, если выбрать заказы с различными статусами, заказы отображаются

post-314-0-83433000-1369733296_thumb.png post-314-0-15950000-1369733292_thumb.png

 

При изменениях статуса заказов на почту приходят письма с хостинга с уведомлением об ошибке:

MYSQL ERROR REPORT
 - 28/05/2013 01:05:19
---------------------------------------
126 - Incorrect key file for table '/tmp/#sql_6ce1_0.MYI'; try to repair it

select o.orders_id, o.orders_status, o.afterbuy_success, o.afterbuy_id, o.customers_name, o.payment_method, o.shipping_method, o.shipping_class, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total from orders o left join orders_total ot on (o.orders_id = ot.orders_id), orders_status s where (o.orders_status = s.orders_status_id and s.language_id = '1' and ot.class = 'ot_total') or (o.orders_status = '0' and ot.class = 'ot_total' and  s.orders_status_id = '1' and s.language_id = '1') order by o.orders_id DESC limit 0, 1000
---------------------------------------
Server Name   : petmarket.ua
Remote Address: 109.86.10.197
Referer       : http://petmarket.ua/admin/start.php
Requested     : /admin/orders.php
Trace Back    : admin/orders.php:1157(vam_db_queryarray(1) {;   [0]=>;   &string(585) "select o.orders_id, o.orders_status, o.afterbuy_success, o.afterbuy_id, o.customers_name, o.payment_method, o.shipping_method, o.shipping_class, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total from orders o left join orders_total ot on (o.orders_id = ot.orders_id), orders_status s where (o.orders_status = s.orders_status_id and s.language_id = '1' and ot.class = 'ot_total') or (o.orders_status = '0' and ot.class = 'ot_total' and  s.orders_status_id = '1' and s.language_id = '1') order by o.orders_id DESC limit 0, 1000"; }; ) => inc/vam_db_query.inc.php:35(vam_db_errorarray(3) {;   [0]=>;   &string(585) "select o.orders_id, o.orders_status, o.afterbuy_success, o.afterbuy_id, o.customers_name, o.payment_method, o.shipping_method, o.shipping_class, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total from orders o left join orders_total ot on (o.orders_id = ot.orders_id), orders_status s where (o.orders_status = s.orders_status_id and s.language_id = '1' and ot.class = 'ot_total') or (o.orders_status = '0' and ot.class = 'ot_total' and  s.orders_status_id = '1' and s.language_id = '1') order by o.orders_id DESC limit 0, 1000";   [1]=>;   &int(126);   [2]=>;   &string(69) "Incorrect key file for table '/tmp/#sql_6ce1_0.MYI'; try to repair it"; }; )

Помогите, пожалуйста, исправить проблему

Ссылка на сообщение
Поделиться на другие сайты

Судя по тексту ошибки, это что-то на стороне сервера, не магазина.

 

Если у Вас есть phpMyAdmin, зайдите в него, правда из текста ошибка не совсем понятно, какая таблица поломалась.

В phpMyAdmin там есть функция - Repair, т.е. починить таблицу.

 

Попробуйте починить таблицы orders, order_total

 

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

Ссылка на сообщение
Поделиться на другие сайты

В поддержке поробовали восстановить таблицы, ситуация не измнилась.

Переслали им ошибку из сообщения, их ответ:

 

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

SELECT o.orders_id, o.orders_status, o.afterbuy_success, o.afterbuy_id, o.customers_name, o.payment_method, o.shipping_method, o.shipping_class, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text AS order_total
FROM orders o
LEFT JOIN orders_total ot ON ( o.orders_id = ot.orders_id ) , orders_status s
WHERE (
o.orders_status = s.orders_status_id
AND s.language_id = '1'
AND ot.class = 'ot_total'
)
OR (
o.orders_status = '0'
AND ot.class = 'ot_total'
AND s.orders_status_id = '1'
AND s.language_id = '1'
)

Но нас совершенно не устраивает отсутствие сортировки заказов, т.е. полная неразбериха в админке, после выполнения этого запроса.

 

Саша, подскажите, пожалуйста, какой из пунктов обслуживания таблицы нужно использовать, чтобы попробовать самим починить таблицу в phpMyAdmin

post-314-0-10378900-1369743876_thumb.jpg

Ссылка на сообщение
Поделиться на другие сайты

Саша, сегодня все заработало, честно говоря, не знаю каким образом. Может, хостер озаботился...

Спасибо за помощь

Ссылка на сообщение
Поделиться на другие сайты

вам ответ хостера вообще ничего не говорит?) 
Ваш тарифный план имеет ограничения, которые приводят к такой работе магазина.

Ссылка на сообщение
Поделиться на другие сайты

Тогда наверное только с хостером решать проблему, может тариф менять, может ещё что.

Это точно проблема не на стороне VamShop.

Ссылка на сообщение
Поделиться на другие сайты

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

Что угодно, например: новая политика от нового тех. руководителя.

p.s.: с хостингом вообще беда. ИМХО, плохо, что у вамшоп нет хорошего (с определенными договоренностями) хостинг-партнера. =(

Ссылка на сообщение
Поделиться на другие сайты

На мой вкус, ruweb.net хороший хостинг, больше 10 лет им пользуюсь, да и была уже тема про хостеров.

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...