Как определить в чём заключается ошибка ДБ

Статус
В этой теме нельзя размещать новые ответы.

Mimas

Создатель
Регистрация
7 Апр 2009
Сообщения
33
Реакции
0
Недавно сталкнулся с такой проблемой - криворукие техники при переносе на другой сервер повредили форум. При добавлении сообщений и новостей пользователя выкидывало ошибку ДБ. Но не всегда и не у всех(малый процент добавлял без проблем) - в основном при загрузке картинок. У некоторых сообщения добавлялись без проблем, а вот темы вывесить уже не могли. Если человек имел терпение и повторял операцию добавление раз 10, то в конце концов новость добавлялась. Проверки ДБ стандартными методами показывали её номальное состояние. Проверял сам, проверяли кроворукие... Ничего не нашли. Резервную копию до переноса не сохранили :mad:.

Переустановил форум и соответственно мне полностью очистило ДБ форума. Потом залил файлы старого форума и на новую таблицу импортировал старую (битую) ДБ - и всё заработало без тормозов и глюков.

Получается что при переносе повредили структуру таблиц?? Но почему проверки не показали ничего. КАк в следующий раз (не дай бог) с точностью определить в чём ошибка ДБ и как исправлять без того, что бы полностью удалять таблицу???

Если можно поподробнее - для чайника...
 
CHECK TABLE `table`;
REPAIR TABLE `table`;

Эти запросы вероятно тебе смогут показать ошибку и попытатся исправить ее.
 
Писал ведь - стандартные методы результатов не принесли. А эти запросы проводятся при выборе проверить/исправить базу данных. Ничего не помогло...
 
Ну выложи ошибку БД чтоли, так можно бесконечно гадать, что там ему не нравилось. Имхо по ошибке, можно итак понять что не в порядке в базе.
 
Ведь я и спрашиваю как её (ошибку) определить, если при проверке (check) всё таблицы показывают состояние ОК.
 
При добавлении сообщений и новостей пользователя выкидывало ошибку ДБ.

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


Если первое - то выкладывай, если второе - то в библиотеках для работы с БД есть функции дающие номер ошибки и описание

для mysql они mysql_errno() и mysql_error().
 
У IPB начиная с версии 2.2 ошибки складываются в папку cache файлы вида sql_error_log_*.cgi, где вместо * - дата в формате ММ.ДД.ГГ
 
Нашел и буду пробовать разобраться.

Странно, что логи показываю ошибку только от 16 числа, когда была залита битая ДБ на новые таблицы. А вот от времени переноса нет ни одного файла ошибки...
 


Вот есть сборник типичных ошибок БД, посмотрите, вдруг че поомжет.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху