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. Увидел, что создал, значит все сделал правильно.

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

 

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

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

Комментарии   
GeoDum
+9 # GeoDum 22.11.2012 11:30
А почему бы просто не очистить таблицу (данные ее), не удаляя ее целиком?
Ответить
admin9zZAAZ
-13 # admin9zZAAZ 27.11.2012 11:52
Надежнее удалить полностью и создать заново, новую, чистую, чем потом тратить время на поиски возможных ошибок в старой, пусть и очищенной.
Ответить
Русский оптимист
+3 # Русский оптимист 12.09.2013 22:31
Тракторист он и есть тракторист :D
Ответить
admin9zZAAZ
-9 # admin9zZAAZ 14.09.2013 13:43
Я пишу простые способы, которые понятны всем и которые не приводят к возможным ошибкам, в которых потом мало кто сможет разобраться (это насчет простой очистки таблицы).

Тут же, любой сможет скопировать два кода и нажать ОК.
Ответить
Андрей
+4 # Андрей 26.05.2014 13:04
Какие ошибки? В пхп май админ галочку поставить и выбрать "очистить" это сложнее чем то, что вы написали? ну извините, это звучит странно)
Ответить
Игорь Васнецов
-4 # Игорь Васнецов 06.06.2014 08:54
Это всего лишь разные способы для людей разной степени подготовленности.
Одним легче так, другим эдак.
Ответить
Андрей
0 # Андрей 10.03.2014 16:59
Для очистки таблицы в SQL есть специальные запросы:

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

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


Тут в разы меньше шансов запутаться чем при дропе и создании новой таблицы, структура, которой в разных версиях может меняться.
Ответить
Radacast
0 # Radacast 09.09.2014 14:04
Спасибо, добрый человек! все доходчиво и понятно
Ответить
Валентин
0 # Валентин 18.06.2015 13:42
Подскажите как почистить базу в ЦМС Думла на сайте
Ответить
Иван
0 # Иван 17.10.2016 18:23
Спасибо! У меня при переезде вообще потерялась эта таблица, не очень нужный сайт лежал какое то время, создал, сайт заработал).
Ответить
tanie
0 # tanie 15.01.2017 11:18
Попробовала так почистить базу и все получилось.
Ответить
Ruben
0 # Ruben 20.03.2017 13:39
У меня там столько было лишнего! Спасибо за наводку, все почистил!
Ответить
Jenna
+1 # Jenna 30.04.2017 20:22
Длинный способ.
Ответить
HoraceTiply
0 # RE: Как очистить базу SQL (проблема с jos_session)HoraceTiply 14.03.2018 00:40
Приятно удивлен.
Ответить