Db function failed with error number 145 что это



Блог об it, программировании и интернет-маркетинге

Делюсь наблюдениями и личным опытом в области программирования и интернет-маркетинга

MySQL ERROR 145 (HY000)

Posted on | November 20, 2013 | No Comments

Если у вас DB function failed with error number 145 или
ERROR 145 (HY000): Table ‘./mydb/mytable’ is marked as crashed and should be repaired
при попытках выполнить запрос на MyISAM таблице в MySQL, то вы по адресу.
Немного теории. MyISAM таблица хранится в трех файлах, tablename.frm с описанием струтуры/формата таблицы, tablename.myd для самих данных и tablename.myi для индексов. Нештатное закрытие таблицы (чаще всего из-за системной ошибки) порой приводит к ошибкам.
Посмотрим что не так с таблицей.

[root@k0r1

]# mysqlcheck -c mydb mytable
mydb.mytable
warning : Table is marked as crashed
warning : 2 clients are using or haven’t closed the table properly
error : Record at pos: 3347144 is not remove-marked
error : record delete-link-chain corrupted
error : Corrupt

Прогоним более подробную проверку консольной утилитой myisamchk (с указанием директории до файла):
/var/db/mysql/mydb# myisamchk mytable
Checking MyISAM file: mytable
Data records: 1210 Deleted blocks: 1600
myisamchk: warning: Table is marked as crashed
myisamchk: warning: 2 clients are using or haven’t closed the table properly
— check file-size
— check record delete-chain
myisamchk: error: Record at pos: 3347144 is not remove-marked
myisamchk: error: record delete-link-chain corrupted
— check key delete-chain
myisamchk: error: Invalid key block position: 143552350688196721 key block size: 1024 file_length: 369664
myisamchk: error: key delete-link-chain corrupted
— check record links
myisamchk: error: Record-count is not ok; is 1233 Should be: 1210
myisamchk: warning: Found 3341600 deleted space. Should be 3341856
myisamchk: warning: Found 4168 key parts. Should be: 4164
MyISAM-table ‘mytable’ is corrupted
Fix it using switch «-r» or «-o»

Ну раз говорят – значит надо делать. Следуем совету мудрой утилиты и запускаем ее с флагом -r
(note: если у вас очень большая таблица, то для увеличения скорости починки можно добавить флаг –sort_buffer_size=XX, значение в байтах, по умолчанию 2Mb)

/var/db/mysql/mydb]# myisamchk -r mytable
— recovering (with sort) MyISAM-table ‘mytable’
Data records: 1210
— Fixing index 1
— Fixing index 2
— Fixing index 3
— Fixing index 4
Data records: 1233

Источник

Читайте также:  Error get alias tilda

Ошибка jtablesession::Store Failed DB function failed with error number 145

Опубликовано 22 мая 2013 · Обновлено 23 июля 2022


Рано или поздно любой владелец сайта на joomla сталкивается с этой ошибкой — jtablesession::Store Failed DB function failed with error number 145.

Появляется она в том случае, если ваш сайт посещают очень много пользователей — эта таблица joomla хранит информацию о пользовательских сессиях, а ошибка говорит о том, что очень много людей посещают ваш сайт.

Для того, чтобы избавиться от ошибки jtablesession::Store Failed DB function failed with error number 145, вам нужно сделать следующее:

Открыть PhpMyAdmin или любую другую программу, которая способна подключаться к базе данных MySQL и выполнить команду:

Все. Проблема решена.

Если проблема не решилась, то можно воспользоваться следующим советом:

  1. Войдите в phpMyAdmin
  2. Экспортируйте Вашу базу данных (в качестве бэкапа)
  3. Откройте таблицу jos_session
  4. В нижней части экрана найдите опцию чистки или опустошения и используйте ее или
  5. Если таблицы jos_session не находите, откройте в текстовом редакторе файл с вашей базой данных
  6. Найдите раздел с кодом, который создает эту таблицу (CREATE TABLE jos_session . )
  7. Введите этот код в SQL коробку Вашей бд

Источник

Db function failed with error number 145 что это

На Windows-сервере имеется информационный портал. Периодически при открытии индексной страницы пользователь получает сообщение типа:

jtablesession::store failed
DB function failed with error number 145
Table ‘.\pravo\jos_session’ is marked as crashed and should be repaired SQL=INSERT INTO `jos_session` ( `session_id`,`time`,`username`,`gid`,`guest`,`client_id` ) VALUES ( ‘b84be7d01d8bd2296f8414fbcc5dbd04′,’1307337829′,»,’0′,’1′,’1’ )
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 16 bytes) in C:\xampp\htdocs\libraries\joomla\error\exception.php on line 117

1. Запускаем на данном хосте phpMyAdmin

2. Выбираем поврежденную базу в соответствие с сообщением об ошибке:

Table ‘.\pravo\jos_session’ is marked as crashed and should be repaired SQL=INSERT INTO `jos_session` ( `session_id`,`time`,`username`,`gid`,`guest`,`client_id` ) VALUES ( ‘b84be7d01d8bd2296f8414fbcc5dbd04′,’1307337829′,»,’0′,’1′,’1’ )

В данном случае база pravo

3. Переходим в окно выполнения sql-запроса:

4. Подаем команду восстановления поврежденной таблицы: REPAIR TABLE jos_session;

5. Открываем в браузере индексную страницу сайта и убеждаемся в его работоспособности.

Источник

Ошибки в таблице сессий базы данных, jtablesession

От автора

При работе с сайтом Joomla вы получили сообщение о такой ошибке: jtablesession::StoreFailed DB function failed with error number….. Разберем, что это за ошибки и как ее исправить на двух примерах.

Читайте также:  Parameter estimate standard error

Про Ошибки в таблице сессий базы данных

Сообщения сервера начинающиеся с jtablesession::StoreFailed, DB function failed error это ошибки в таблице сессий базы данных. Далее в тексте сообщения следует разъяснение ошибки, а из разъяснения понятны и пути исправления. Невозможно предвидеть все возможные ошибки, можно понять принцип их исправления. Рассмотрим три примера ошибок jtablesession::Store Failed, DB function failed error.

Ошибка доступа к таблице сессий базы данных

jtablesession::Store Failed DB function failed with error number 1146 Table ‘database_name.jos_session’ doesn’t exist SQL=INSERT INTO `jos_session` (`session_id`,`time`,`username`,`gid`,`guest`,`client_id` ) VALUES (‘eb894feb5ff2dcc5f12cfc43f071fd8d’,’1270548439′,»,’0′,’1′,’0′ )

Анализ ошибки

Из перевода сообщения видим, что это ошибка доступа (doesn’texist). Происходит она в таблице [jos_session]. Произошла она при попытке оператора SQL=INSERTINTRO вставить в таблицу, значения VALUES.

Исправление ошибки

  • Проверьте префикс таблицы. Он должен совпадать с префиксом таблиц БД указанным в файле configuration.php в строке: public $dbprefix =
  • Проверить наличие в базе данных таблицы [jos_session]
  • Если таблица отсутствует, попробуйте ее восстановить. Для этого сделайте SQL запрос к БД следующего вида:
  • Если таблица не восстанавливается и у вас есть резервная копия базы данных в формате SQL, то удалите существующую базу данных и импортируйте резервную копию БД.
  • Если таблицы [jos_session] нет нигде, придется ее импортировать из дефолтной базы данных, дефолтного дистрибутива Joomla.

Важно! После операций по исправлению ошибок не забывайте чистить кеш сайта.

Ошибка таблица помечена как испорченная и должна быть восстановлена

Внешний вид ошибки

jtablesession::Store Failed DB function failed with error number XXXX Table ‘.\s_\jos_session’ is marked as crashed and should be repaired SQL=INSERT INTO `jos_session` (`session_id`,`time`,`username`,`gid`,`guest`,`clie nt_id` ) VALUES ( ‘c4kkidl1t855gihmkfliksdhd5′,’1218284376′,»,’0′,’ 1′,’0′ )

Анализ ошибки

Простой перевод сообщения об ошибке дает ответ на вопрос что произошло: is marked as crashed and should be repaired. Не много немало, таблица повреждена, ее нужно восстановить.

Исправление ошибки

Востанавливаем таблицу инструментом phpMyAdmin

  1. Войти в панель phpMyAdmin на сервере;
  2. Открыть базу данных сайта;
  3. Найти таблицу [_session] ;
  4. Выделить таблицу флажком и внизу в «С отмеченными: « выбрать «Восстановить таблицу».

Делаем SQLзапрос на восстановление этой таблицы

Не помогло, восстанавливаем базу данных полностью

Для этого нужно иметь SQL формат резервной копии базы данных (рабочую), импортированную ранее. Существующую базу данных удаляем и Импортируем резервную копию базы данных.

Читайте также:  Esxi fatal error 11 volume corrupted

Нет резервной копии, создаем таблицу заново

Удалите таблицу [jos_session];

Создайте таблицу заново. Для создания таблицы [jos_session] заново, выполнити следующий SQL скрипт (скрипт проверен). На вкладке SQL запрос, сделайте следующий запрос:

Важно! После операций по исправлению ошибок не забывайте чистить кеш сайта.

Что делать если ошибка после исправления возвращается назад

Если после исправления ошибки, через некоторое время ошибка появляется заново значит в системе установлено расширение, которое эту ошибку вызывает. Исправление: искать проблемное расширение методом исключения.

На этом про Ошибки в таблице сессий базы данных, jtablesession все.

  • Пользуйтесь для исправления ошибок в БД инструментами phpMyAdmin, от простого к сложному.
  • Периодически делайте резервную копию БД в формате SQL, используя Экспорт phpMyAdmin.

Источник

The Joomla! Forum™

Resolving DB function failed with error number 145?

Resolving DB function failed with error number 145?

Post by dinja » Thu Mar 31, 2011 1:20 pm

I know that they are a few topics for resolving this issue but I had to start a new one because none of the possible solutions worked for me. So I had to tell you about my problem.
I am using Joomla! on my localhost.
After deleting one article I keep getting this message:

jtablesession::Store Failed
DB function failed with error number 145
Table ‘.\academicdraft\jos_session’ is marked as crashed and should be repaired SQL=INSERT INTO `jos_session` ( `session_id`,`time`,`username`,`gid`,`guest`,`client_id` ) VALUES ( ‘6u0aopo2cpgc9kl9akrjbkcpb4′,’1301576360′,»,’0′,’1′,’0’ )
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 44 bytes) in C:\wamp\www\AcademicDraft\libraries\joomla\error\exception.php on line 117

I believe that this problem occured after unexpected shutting down of my computer.
I am desperated because I tried everything as I can do to reslolve this isssue, but without success.
I have a max_filesize set to 16M, but I changed it to 64 and still getting that fatal error.
I tried to repair jos_session but that is also not helping. I also tried to change those parameters manually but I am not sure that I know how to do that. So I am seeking for someone who knows to write a detailed instruction for me?

Joomla_1.5.22-Stable-Full_Package
Apache Version :
2.2.11
PHP Version :
5.3.0
template installed: JT classic

Источник

Оцените статью
toolgir.ru
Adblock
detector