Решил. Возникла проблема с jos_session в базе SQL (сайт на Joomla). Вернее у меня не jos_session, а jkl_session, но это роли не играет. То, что написано до «_session» у каждого может быть разное. Но сама таблица выполняет одинаковые функции.
Итак, если база SQL вдруг начала ругаться и в описание ошибки мелькает слово jos_session, можете быть уверены, это означает, что ваша база слишком большая и ее надо почистить.
Как очистить базу SQL
У меня на сайте в один прекрасный момент эта 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. Увидел, что создал, значит все сделал правильно.
В варианте очистки, если вы совершите ошибку в коде, вы не увидите (имеется ввиду новичок) результат. И не поймете, получилось или нет.
Посмотреть хорошее видео
Комментарии
Тут же, любой сможет скопировать два кода и нажать ОК.
Одним легче так, другим эдак.
TRUNCATE TABLE ИМЯ_ТАБЛИЦЫ
Например, truncate table jos_session
Тут в разы меньше шансов запутаться чем при дропе и создании новой таблицы, структура, которой в разных версиях может меняться.
RSS лента комментариев этой записи