Большой объем базы данных Modx Revo? Очищаем modx_session

Большой объем базы данных Modx Revo? Очищаем modx_session

Всем привет. При переносе сайта столкнулся с катастрофически большим объемом базы данных, хотя казалось, что она не может столько весить. Заглянув в phpmyadmin в структуру, увидел, что практически весь объём приходится на строку modx_session. Очистив эту таблицу вы ничего не потеряете. Максимум вашим менеджерам нужно будет войти в админку повторно.

Для очистки из админки воспользуйтесь Управление - Завершить все сеансы. Система сама очистит ненужные сессии. В некоторых случаях таблица очистится не полностью. Чтобы очистить таблицу modx_session полностью нужно зайти в phpmyadmin. Идём в SQL и вставляем этот код:

DROP TABLE IF EXISTS `modx_session`;
CREATE TABLE IF NOT EXISTS `modx_session` (
  `id` varchar(255) NOT NULL DEFAULT '',
  `access` int(20) unsigned NOT NULL,
  `data` mediumtext,
  PRIMARY KEY (`id`),
  KEY `access` (`access`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

жмём "Выполнить" и вуаля - наша база стала нормального объёма в несколько KB. Как чистить сессии автоматически я пока не разобрался. Как разберусь - напишу новую заметку, прикреплю сюда ссылку. 

Если вы не видите кнопку "Скачать"
отключите блокировщик рекламы

Комментарии ()

  1. Александр 11 марта 2022, 13:34 # 0
    База висела 10 минут, потом сломался phpmyadmin, пришлось переустанавливать phpmyadmin и заливать бэкап базы. Не рекомендую данный способ. Лучше просто «Завершить сеансы», он неплохо сам очищает!
    1. Дима 24 августа 2022, 12:23 # 0
      так он удалет зачем то базу и создает ее
      проще использовать 'TRUNCATE TABLE `_session`';

      а для автоматизации процесса можно сделать php обработчик который будет выполнять этот sql и повесить его в крон задачи

    Не то, что искали? Воспользуйтесь поиском