Показать сообщение отдельно
Старый 25.03.2011, 12:49 Вверх   #1
Пользователь
 
Аватар для motos
motos вне форума
Доп. информация
По умолчанию Ошибка базы данных 1017

Здравствуйте!
Все чаще и чаще пользователи начинают жаловаться что при переходах по форуму им высвечиваются ошибки Базы данных.
Немного проанализировав жалобы, заметил законномерность, что ошибка базы данных 1017.
Писал хостеру, дали ответ, что при пиковой нагрузке мало памяти и рекомендуют перейти на больший тариф.
На форуме провел оптимизацию но ничего не помогает.
Движок 3.8.6

Пример ошибки:
Ошибка базы данных в vBulletin 3.8.6:

Invalid SQL:

SELECT
post.*, post.username AS postusername, post.ipaddress AS ip, IF(post.visible = 2, 1, 0) AS isdeleted,
user.*, userfield.*, usertextfield.*,
icon.title as icontitle, icon.iconpath,
avatar.avatarpath, NOT ISNULL(customavatar.userid) AS hascustomavatar, customavatar.dateline AS avatardateline,customavatar.width AS avwidth,customavatar.height AS avheight,
spamlog.postid AS spamlog_postid,
deletionlog.userid AS del_userid, deletionlog.username AS del_username, deletionlog.reason AS del_reason,
editlog.userid AS edit_userid, editlog.username AS edit_username, editlog.dateline AS edit_dateline,
editlog.reason AS edit_reason, editlog.hashistory,
postparsed.pagetext_html, postparsed.hasimages,
sigparsed.signatureparsed, sigparsed.hasimages AS sighasimages,
sigpic.userid AS sigpic, sigpic.dateline AS sigpicdateline, sigpic.width AS sigpicwidth, sigpic.height AS sigpicheight,
IF(user.displaygroupid=0, user.usergroupid, user.displaygroupid) AS displaygroupid, infractiongroupid


FROM vB_post AS post
LEFT JOIN vB_user AS user ON(user.userid = post.userid)
LEFT JOIN vB_userfield AS userfield ON(userfield.userid = user.userid)
LEFT JOIN vB_usertextfield AS usertextfield ON(usertextfield.userid = user.userid)
LEFT JOIN vB_icon AS icon ON(icon.iconid = post.iconid)
LEFT JOIN vB_avatar AS avatar ON(avatar.avatarid = user.avatarid) LEFT JOIN vB_customavatar AS customavatar ON(customavatar.userid = user.userid)
LEFT JOIN vB_spamlog AS spamlog ON(spamlog.postid = post.postid)
LEFT JOIN vB_deletionlog AS deletionlog ON(post.postid = deletionlog.primaryid AND deletionlog.type = 'post')
LEFT JOIN vB_editlog AS editlog ON(editlog.postid = post.postid)
LEFT JOIN vB_postparsed AS postparsed ON(postparsed.postid = post.postid AND postparsed.styleid = 1 AND postparsed.languageid = 3)
LEFT JOIN vB_sigparsed AS sigparsed ON(sigparsed.userid = user.userid AND sigparsed.styleid = 1 AND sigparsed.languageid = 3)
LEFT JOIN vB_sigpic AS sigpic ON(sigpic.userid = post.userid)

WHERE post.postid IN (0,203613,203617,203674,22999)
ORDER BY post.dateline;

Ошибка MySQL : Can't find file: './tucson/vB_deletionlog.frm' (errno: 12)
Номер ошибки : 1017
Дата запроса : Friday, March 25th 2011 @ 10:51:45 AM
Дата ошибки : Friday, March 25th 2011 @ 10:51:45 AM
Скрипт : http://domen.ru/showthread.php?p=203613
Реферрер : http://domen.ru/search.php?searchid=35453
IP адрес : 82.209.48.125
Имя пользователя : Александр
Имя класса : vB_Database
Версия MySQL : 5.0.51a-24+lenny4

Добавлено через 1 минуту 24 секунды

Еще один пример ошибки

WHERE post.postid IN (0,198924,203242)
ORDER BY post.dateline;

Ошибка MySQL : Can't find file: './tucson/vB_editlog.frm' (errno: 12)
Номер ошибки : 1017
Дата запроса : Thursday, March 24th 2011 @ 04:13:17 PM
Дата ошибки : Thursday, March 24th 2011 @ 04:13:18 PM
Скрипт : http://domen.ru/showthread.php?t=10565
Реферрер : http://domen.ru/showthread.php?t=10565
IP адрес : 94.149.19.117
Имя пользователя : sabid
Имя класса : vB_Database
Версия MySQL : 5.0.51a-24+lenny4

Добавлено через 1 минуту 27 секунд

В чем может быть проблема, оптимизацию таблиц провожу регулярно.
Кстати, заметил такую штуку, на почту не приходит уведомление об ошибке, хотя в конфиге технический адрес указал правильно.
  Ответить с цитированием
 
Время генерации страницы 0.08559 секунды с 10 запросами