1 1 1 1 1 1 1 1 1 1 Рейтинг: 0.00 - 0 отзывов

Решил. Возникла проблема с jos_session в базе SQL (сайт на Joomla). Вернее у меня не jos_session, а jkl_session, но это роли не играет. То, что написано до «_session» у каждого может быть разное. Но сама таблица выполняет одинаковые функции.

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

Как очистить базу SQL

денежный трактор

Таблица jos_session хранит все записи о сессиях. Эти записи могут зависеть и от вас и от хостинга. Не это главное. А вот посмотрите сколько она весит и вам станет страшно.

У меня на сайте в один прекрасный момент эта jos_session стала весить больше 80mb! Одна таблица. Я был в шоке и начал искать как исправить эту ошибку.

Не бойтесь больше нужного. Все очень просто (помните, что русский тракторист объясняет все очень доходчиво).

 

1. ОБЯЗАТЕЛЬНО делайте "Экспорт" и сохраняйте базу прямо в том состоянии какая она сейчас. На всякий случай. Потом этот бэкап попросту удалите.

 

2. Готовы? Начали. В PHP MyAdmin вверху вы видите надпись SQL и жмете на нее. Получается окошко для ввода sql кодов. Если в нем что то есть, сотрите это. И вписывайте

DROP TABLE jos_session

Еще раз повторяю, ваша таблица, может называться не jos_session,а любоеслово_session. Вот так и пишете запрос, чтобы было как ваша таблица.

DROP TABLE любоеслово_session

и жмем ОК. Удалили мы эту jos_session и это правильно. Нечего нам ошибки делать. теперь ее нужно создать новенькую, чистенькую. Для этого делаем пункт 3.


3. В то же окошко пишем весь этот громадный код:

 

CREATE TABLE `jos_session` (
 `username` varchar(150) DEFAULT '',
 `time` varchar(14) DEFAULT '',
 `session_id` varchar(200) NOT NULL DEFAULT '0',
 `guest` tinyint(4) DEFAULT '1',
 `userid` int(11) DEFAULT '0',
 `usertype` varchar(50) DEFAULT '',
 `gid` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
 `client_id` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
 `data` longtext,
 PRIMARY KEY (`session_id`(64)),
 KEY `whosonline` (`guest`,`usertype`),
 KEY `userid` (`userid`),
 KEY `time` (`time`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

 

И опять же, вместо jos_session пишем название таблицы, которое у вас было. Вполне возможно, что она так и называлась jos_session, а может tyfty_session, неважно. Пишете старое имя как было.И снова ОК,

 

И вуаля! База стала легкой. Сайт на Joomla заработал быстрее. Проблема с jos_session решена!

Если у вас возник конфликт при изменении прав пользователя, это не беда.

 

UPD. Этот способ старый, но рабочий. В комментариях (через 2 года), подсказывают более простой вариант, подразумевающий не удаление, а очистку таблицы.:

TRUNCATE TABLE ИМЯ_ТАБЛИЦЫ

Например, truncate table jos_session

Однако более надежным для новичка, является удаление, чем очистка.

  • 1. Удалил.
  • 2. Увидел, что такой таблицы нет.
  • 3. Создал.
  • 4. Увидел, что создал, значит все сделал правильно.

В варианте очистки, если вы совершите ошибку в коде, вы не увидите (имеется ввиду новичок) результат. И не поймете, получилось или нет.

 

Посмотреть хорошее видео

Добавить комментарий

Защитный код
Обновить