Я унаследовал клиентский сайт с чрезвычайно большой базой данных без всякой причины. Существует умеренное количество контента и очень мало включенных модулей. Однако база данных слишком велика, чтобы ее можно было легко перемещать, и я хочу ее очистить.
Я очистил стандартные таблицы кеша, системный журнал и журнал доступа.
Есть ли другие таблицы, которые я могу безопасно обрезать на стандартном сайте Drupal?
{cache_form}
, не совсем верны. Это не настоящая таблица кеша. Он содержит в форме представления заявки. Если вы удалите все данные в этой таблице, ваш пользователь может потерять данные. Надлежащее действие с этой таблицей - истечение срока действия записей.Ответы:
Используйте модуль резервного копирования и переноса , он поставляется с хорошими настройками по умолчанию для пропуска ненужных данных . По умолчанию он создает резервную копию БД без кеша, сторожевого таймера и некоторых других таблиц.
Если это не поможет, взгляните на phpMyAdmin и скажите нам, в каких таблицах много записей.
источник
Drupal 7 таблиц, которые можно исключить
Вот список таблиц в Drupal 7, которые вы можете либо очистить (чтобы уменьшить размер базы данных), либо безопасно исключить для выполнения миграции (как в вопросе о том, как уменьшить размер локально экспортируемой базы данных, чтобы обойти ограничение на импорт моего сервера? ):
Обычно таблицы, такие как
search_index
иwatchdog
занимающие много места в базе данных, поэтому простое удаление этих двух таблиц уже может иметь огромное значение.Другие таблицы, которые могут быть исключены
Проверьте размер оставшихся таблиц и определите, какие из них являются самыми большими по размеру.
Как правило, вы можете найти таблицы сеансов, для которых нет процедуры очистки. Такие таблицы вы, вероятно, также можете исключить.
Модуль резервного копирования и миграции
Чтобы еще больше уменьшить сложность задачи, как описано в разделе « Как уменьшить размер локально экспортируемой базы данных, чтобы обойти ограничение импорта моего сервера? », Посмотрите также модуль « Резервное копирование и миграция ». Вот цитата со страницы проекта (здесь добавлена жирная разметка):
И даже больше: если ваша локальная среда (например, Win или Mac) отличается от ОС, на которой работает сервер вашего размещенного веб-сайта (например, Linux), то эти различия между ОС предполагают потенциальные дополнительные проблемы. У меня был хороший опыт использования модуля Backup and Migrate между различными операционными системами, который не вызывал проблем (работал нормально) в ситуациях, когда типичный экспорт / импорт MySql не удался раньше.
источник
cache_
добавленными или_cache
добавленными значениями также безопасны для усечения, например,features_cache
иviews_data_object_export_cache
т. Д._drupal_session_garbage_collection
будет держать эту таблицу в чистоте, основываясь на системных настройках.По моему опыту, я очищаю все таблицы «cache_ *».
источник
Иногда я запускаю этот SQL, чтобы следить за ростом верхних таблиц:
источник
Сторожевой таймер и сеансы также могут быть очищены, имейте в виду, что все пользователи будут отключены.
источник
С MySQL вы можете делать забавные вещи с программой mysqldump, чтобы экспортировать базу данных полностью или по частям. Например, это просто экспортирует структуру:
Затем вы можете использовать опцию «игнорировать таблицу» для дальнейшего экспорта данных, например,
Это помещает данные в конец более раннего файла, игнорируя некоторые массивные таблицы.
Если вам затем понадобятся массивные таблицы, вы можете экспортировать их в другой файл, используя описанный выше подход, затем вы можете импортировать их порциями (хотя может потребоваться проверка fk).
Вы загрузили файл перед загрузкой, или это глупый вопрос?
источник
Используйте модуль OptimizeDB для очистки таблиц кеша. Администрирование базы данных также полезно.
Не забудьте иметь резервную копию баз данных.
источник
не супер специалист по этому вопросу, но делиться своим опытом ... если вы не используете резервное копирование и перенастройку модуль и вручную экспортировать некоторые таблицы можно откачать / усечения бы
watchdog
,cache
,cache_menu
,cache_block
,cache_content
, такcache_form
как они могут содержать большое очистка кэшированного содержимого, которое, я полагаю, не повредит ... но опять же это мой опыт, и я не столкнулся с проблемами или потерей данных из-за этого.источник
Некоторые идеи:
источник
Проверьте,
example.drushrc.php
какой список этих:Их можно очистить с точки зрения перемещения базы данных между различными средами (особенно, когда вы работаете с большими базами данных ). Однако вам все равно нужно понимать, что вы очищаете.
источник
Дополнительные таблицы, которые можно очистить:
Другие вещи, которые могут занимать довольно много места: - старые версии вашего контента (невозможно очистить с помощью простого усечения). - locales_source и locales_target. Если у вас есть языки, которые больше не используются, или переводы строк для модулей, которые вы больше не используете. Эти столы, кажется, никогда не убираются.
источник