Сайт о телевидении

Сайт о телевидении

» » Как очистить базу данных MySQL от всякого шлака. Генеральная уборка продолжается: как почистить базу MySQL

Как очистить базу данных MySQL от всякого шлака. Генеральная уборка продолжается: как почистить базу MySQL

На связи Илья Журавлёв, прочитав данную статью вы узнаете как очистить и оптимизировать базу данных wordpress. Со временем в базе данных скапливается много не нужного мусора, который может повлиять, к примеру, на скорость открытия вашего сайта. Базу данных нагружают не только установленные плагины, но и когда вы удаляете плагин, после него может остаться не нужный код, таблицы, строки. Не многие знают о ревизии постов, когда вы пишите статью, то wordpress, при каждом изменении записи, автоматически сохраняет черновик записи в базе данных. Представьте сколько таких черновиков сохраняется при написании одной статьи.

Те кто не занимается оптимизацией, то их мусор в базе данных превышает в 2, а то и в 3, 4, 5 раз по размеру основное содержание базы данных. Представьте, что ваша база данных весит 90 мегабайт, но необходимое и основное содержание базы данных весит всего 30 мегабайт, 60 мегабайт – это груз 200, то есть мёртвый груз, не нужный мусор. Удалите этот груз и ваш сайт полетит как сокол!

Начнём очистку и оптимизацию базы данных.

Сначала очистим базу данных с помощью плагина – WP Clean Up , очень простой и понятный плагин, не нуждается в настройках, нажмёте на кнопку и всё, лучший в своём роде. Установить данный плагин вы сможете прямо из админ-панели wordpress. Перейдите по вкладке: Плагины – Добавить новый , введите название плагина в форму поиска, нажмите Enter, установите и активируйте открывшийся плагин.

Чтобы настроить плагин, перейдите по вкладке: Настройки – WP Clean Up .

На странице плагина, в первом поле будут отображаться типы таблиц БД, которые можно очистить. Внизу нажмите на кнопку – Delete All , чтобы очистить сразу же всё. Внимание! Если на вашем сайте есть нужные вам черновики, то при очистке всех элементов одновременно они так же будут удалены. Чтобы сохранить черновики (Draft), удаляйте все элементы по отдельности, кроме элемента Draft, нажав на кнопку – Delete, напротив значения.

Во втором поле , у вас будут отображаться все имеющиеся таблицы в вашей базе данных и их размер. После очистки, вам нужно будет оптимизировать баз данных, то есть обновить. Нажмите на кнопку – Optimize . В поле Total вы можете наблюдать насколько изменилась в размере ваша база данных.

Как видно по скриншоту, во второй таблице у меня отображаются только 11 основных таблиц БД. У вас таблиц может быть гораздо больше от 50 до 100. Кроме 11 основных, присутствуют таблицы относящиеся к установленным плагинам и к удалённым. Далее я покажу как очистить БД от не нужных таблиц удалённых плагинов. После очистки БД можете деактивировать плагин – WP Clean Up . Периодически, раз в 3-6 месяца активируйте плагин и снова проводите очистку.

Доброго дня дорогие друзья. Пока моя дверь в офис едет из Питера, я решил написать для вас очень полезный пост и рассказать в нем о том, как можно за несколько минут полностью очистить базу данных MySQL своего блога от мусора, значительно уменьшив ее размер. Итак! Из этой статьи вы узнаете:

Давайте начнем.

ПЕРЕД ВСЕМИ МАНИПУЛЯЦИЯМИ СО СВОЕЙ БАЗОЙ ДАННЫХ БЛОГА СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ! НЕ ЗНАЕТЕ КАК, НАПИШИТЕ ХОСТЕРУ!

Сразу с ходу совет: Многие подумают после прочтения статьи, — «Ой, как это все сложно, лучше я не буду ни чего очищать, а то так очищу, что все полетит, пусть остается все как есть». В принципе не плохой вариант, но база все растет и растет. =) В общем делать надо, бояться не нужно, а если боитесь, то обратитесь на фриланс к спецу, который все вам сделает чики пуки.

Зачем нужно очищать базу от мусора и как она им забивается?

Ответ на этот вопрос простой. Если вы не будете очищать свою базу данных, которая из месяца в месяц ведения вашего блога, становится все больше и больше, то однажды она может разрастись до таких размеров, что ваш хостинг (сервер), не выдержит ее. =)

Естественно, если блог качественно настроен изнутри и снаружи, в нем не глючат никакие плагины, все хорошо отверстанно, отключены ревизии постов, спам его не атакует и т.д., то база и не будет расти как на дрожжах. А вот если же она растет жестко, то это сигнал к тому, что что-то у вас не так. Ну само собой база должна расти, но не сильно!

Моя база данных за 3 года ведения блога весит — 58 Мб. Это нормально! Но можно уменьшить, что я вам и покажу в этой статье!

Мне тут написала женщина позавчера, — «Александр, я посмотрела на хостинге моя база данных весит 450 мб». Я ее спросил, — «Вы наверное уже лет 20 блог ведете?». Она сказала, — «Нет, всего пол года». Я чуть со стула не упал. Здесь однозначно у женщины проблемы. Давайте посмотрим из-за чего растут базы данных:

1. Из-за роста числа статей на блоге.
2. Из-за ревизий статей (резервных копий).
3. Из-за роста количества комментариев на блоге (спам-комментариев).
4. Из-за плагинов установленных на блоге.
5. Из-за лишних, не используемых MySQL таблиц.
6. Из-за кучи ненужных Pingbacks.

Чем больше контента — тем больше база — это нормально! Но вот когда ревизии (резервные копии статей) не отключены или не очищаются постоянно вручную, то это плохо! База данных будет весить тонны. И это не шутка. Ну представьте, вы пишите пост, автоматически сохраняется черновик:

И вот сколько их может сохраниться за время написания поста? =) Много! Очень часто у начинающих блоггеров бывает так, что когда они узнают информацию по чистке базы данных, то обнаруживают, что ревизии постов у них весят больше чем сами посты в 2-3 раза. =)

Плагины. Они базу не занимают, а занимают место таблицы, создаваемые этими плагинами. Часто рост базы данных Mysql связан с тем, что какие-то плагины конфликтуют на блоге или работают не правильно, в ходе этого в таблицах базы данных происходит ужас и она растет.

Так же она растет, точнее в ней могут занимать место таблицы от плагинов, которые когда-то использовались, но сейчас уже нет. Такие таблицы можно удалить и дальше я расскажу как это делается.

Ну и последнее — это pingbacks. Пинкбеки. Объясню коротко и ясно. Какой-то блоггер ведет блог, пишет статью и в ней ставит ссылку на ваш блог. Если у него в админке включена настройка — «Пытаться оповестить блоги, упоминаемые в статье» (Админка — Параметры — Обсуждение):

то в вашу базу данных занесется запись, что такой-то такой-то блог поставил на вас ссылку. Дополнительная запись — дополнительные килобайты веса в базе. Все просто! Вот иногда надо базу данных чистить от пинкбеков.

Гут! Разобрались и поняли как наша база забивается и что ее нужно ОБЯЗАТЕЛЬНО чистить. Теперь рассмотрим что чистить?

Что нужно очищать в базе данных (что мы будем чистить)?


Спам комментарии
Не нужные таблицы

Как непосредственно очистить базу MySQL (каким плагином):

Чтобы долго тут все не размусоливать, то вот посмотрите на мою базу данных:

Свою базу данных вы можете посмотреть зайдя к себе на хостинг (сервер) в phpMyAdmin и выбрать слева нужную базу. Показывать как это делается нет смысла, так как у всех хостинги разные. Но вот phpMyAdmin одинаковый. Я думаю большинство из вас знают где его найти, если нет, то напишите в поддержку вашего хостинга и попросите помощи.

Итак! Что мы видим? Вот это все таблицы моей базы данных. Что занимает всех больше места? На кб не обращайте внимания. Нас интересуют Mb.Таблицы:

wp-comments
wp-posts + wp_postmeta
wp_options
wp_blc_instances
wp_blc_links
wp_blc_synch
wp_wppage_conversion
wp_wppage_conversion_log
wp_wppage_stats

Ну как бы это меня они интересуют, так как там МБ, у вас могут быть дополнительно другие таблицы. Я же не знаю, какие вы плагины используете.

Давайте по порядку. wp_comments — в эту таблицу заносятся все комментарии блога. 23,5 мб — это нормально! У меня ведь почти 40 000 комментариев. =)

Если у вас эта таблица здоровенная, значит у вас или много комментов на блоге или много спам комментов, которые нужно удалить! Что мы с вами и сделаем. Кстати сразу зайдите в админке блога в комментарии спам и корзина и посмотрите, может там несколько тысяч комментариев надо удалить. Как мне однажды... Более 5000 удалил. =)

wp_posts + wp_ppostmeta — сюда заносятся все посты блога + их метаданные. 15 Мб — отличный размер для 400 объемных статей блога, некоторые из них аж в 30 000 символов текста, даже больше.

wp_options — здесь хранятся настройки нашего блога. Обычно размер не большой. У меня 1,5 мб и это отлично! Если у кого-то большой размер (но это редкость), то почистите плагином Optimize DB или Clean Options. На эту тему куча статей в интернете, почитайте.

Пару слов по плагину Clean Options. Хороший плагин, находит в таблице wp_options кучу ненужных данных. Вот например у меня в этой таблице есть настройки плагина Math Comment Spam Protection, который сто лет назад использовался на блоге и уже не используется. А вот настройки его в базе остались. Было бы здорово их удалить.

НО! Советую пользоваться этим плагином очень при очень осторожно! Удалять только то, что действительно не нужно!

Совет: Если у вас таблица wp_options реально не больших размеров. Ну там 1-2 мб, то в принципе не стоит ничего ковырять, а то можете так наковырять, что будет плохо! У меня 1,5 мб и я даже не буду заморачиваться. Я думаю, у вас не больше.

Дальше едем. wp_blc_instances, wp_blc_links, wp_blc_synch + wp_wppage_conversion, wp_wppage_conversion_log, wp_wppage_stats. Посмотрите на эти таблицы. Что это? А это таблицы от плагинов Broken Link Checker и Wppage, которые стоят у меня на блоге, но не используются. Точнее Broken Link Checker используется для проверки битых ссылок, а вот плагин Wppage вообще не используется никогда!

Он раньше использовался, но сейчас удален. Я его на другой домен поместил, чтобы он не создавал нагрузку на этот блог. В общем что мы видим? Плагины не используются, а таблицы забиты местом. Например таблицы от плагина Broken Link Checker можно почистить, а таблицы плагин Wppage вообще можно удалить. Что мы сейчас и сделаем.

Для начала небольшое пояснение. Чтобы понять почему можно почистить таблицы плагина Broken Link Checker, нужно . Из нее вы узнаете как работает плагин. То есть в принципе я спокойно могу очистить таблицы, мне не важны данные этого плагина. Есть плагины, таблицы которых чистить не нужно! Чищу:

Выбираем нужные нам таблицы (отмечаем галочками) и внизу выбираем — очистить. Готово! Посмотрите теперь сколько весит моя база:

Гут! Теперь удаляем ненужные таблицы от старого плагина Wppage который уже не используется:

Выбираем нужные нам таблицы (отмечаем галочками) и внизу выбираем — удалить. Готово! А теперь моя база весит:

Внимание! Аккуратно отмечайте галочками таблицы, а то можете случайно еще что-то захватить. =) Итого, я уменьшил размер базы данных на целых 16 Мб. Это не то что хорошо! Это даже супер я так скажу!

Дальше. Нужно отключить ревизии постов и удалить все имеющиеся. О том как их вообще отключить . Кстати там же я и писал про удаление ревизий mysql запросами посылаемыми в phpmyadmin. У меня например все удалилось без проблем.

А вот у кого-то базу данных накрыло! То есть что-то пошло не так. Есть такое дело, поэтому не советую вам удалять ревизии тем способом. Давайте лучше рассмотрим другой способ.

Ставим везде галочки и жмем синенькую кнопочку. Готово! Ваша база данных очищена. Ну как вы видите она у меня и так была чиста уже.

Советую после чистки отключать плагин, так же и плагины WordPress Database Backup и Clean Options. Зачем они нужны активные когда не используются? Вот потом включите через 2-3 месяца.

Как часто надо чистить базу данных?

Я рекомендую делать данную процедуру по мере того как вы засоряете базу. Вот бекапы делать нужно каждый божий день плагином WordPress Database Backup, а вот чистку на ваше усмотрение. Ну раз в 2-3 месяца желательно! Кроме чистки просто иногда следите за базой данных, за ее размером, чтобы не получилось так, что вы решили посмотреть на нее через 2 года ведения блога, а там размер 3 Гб. =)

Ну в общем на этом буду пост заканчивать, надеюсь он был для вас полезен! Если вы выполните все процедуры, которые я тут описал, то ваша база будет маленьких размеров, чистая и идеальная, благодаря этому ваш блог будет работать шустрее и пользователи будут радоваться тому, как оперативно загружаются страницы.

P.S. Кстати кто применит описанные выше процедуры, опишите как уменьшилась ваша база данных. Спасибо! Ну все! Пока!

P.P.S. Кстати в ближайшие месяцы планируется начаться запись нового обучающего видеокурса по защите и ускорению блога для новичков и не только. Курс будем писать я и еще один человек. Системный администратор, настоящий профессионал в области защиты сайтов и блогов. Не пропустите ...

С уважением, Александр Борисов

Со временем в базе данных Вордпресс накапливается много лишней информации. Объём которой часто достигает таких размеров, что сайт начинает спотыкаться и может даже упасть. Сегодня я покажу несколько приёмов по очистке и оптимизации БД Вордпресс.


База данных Вордпресс напоминает шкаф, в котором хранятся все материалы сайта: посты, страницы, их ревизии, комментарии, в том числе и помеченные как спам, а также все настройки тем и плагинов. Поэтому, если сайт используется продолжительное время, скорее всего в его базе данных имеются данные, которые можно удалить.

Хранение бесполезных данных приводит к раздуванию базы данных. Например, зачем хранить настройки темы, которая была удалена много лет назад? Очистка базы данных не только освобождает пространство, но и способствует увеличению скорости работы сайта.

Для Вордпресс существует несколько различных способов оптимизации БД, я покажу несколько полезных запросов MySQL, которые можно выполнить в , например. А также расскажу про пару полезных плагинов, которые помогут упростить задачу.

Внимание: Перед любым действием с базой данной, настоятельно рекомендую создать полную резервную копию сайта.

Оптимизация базы данных Вордпресс с помощью phpMyAdmin

Существует несколько способов выполнения SQL-запросов в БД. Самым простым вариантом является phpMyAdmin. Получить к нему доступ обычно можно в панели управления хостингом в разделе «Базы данных».

Внутри phphMyAdmin сразу переходим в раздел SQL.

Здесь мы и будем выполнять все SQL-запросы.

Сразу обращаю внимание, в примерах ниже используется дефолтный префикс таблиц Вордпресс - «wp_ » Поэтому, прежде убедитесь, что префиксы таблиц вашей БД такие же. Если нет - просто меняйте их в запросах на свои.

Удалить старые плагины и данные

Начнем с удаления оставшихся данных от удалённых плагинов. В таблице wp_postmeta также можно обнаружить много других ненужных данных, которые можно почистить этим же запросом.

DELETE FROM wp_postmeta WHERE meta_key = "META-KEY-NAME";

Вместо META-KEY-NAME нужно указать ключи удаляемых плагинов. Их можно найти в таблицах БД.

Удалить все ревизии

Ревизии в Вордпресс очень полезная функция. Но если авторы активно ей пользуются, в БД сохраняется очень много копий постов, которые хранятся и после его публикации.

Удалить разом все ревизии можно таким запросом:

DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) LEFT JOIN wp_term_taxonomy d ON (b.term_taxonomy_id = d.term_taxonomy_id) WHERE a.post_type = "revision" AND d.taxonomy != "link_category";

Удалить все комментарии со спамом

Иногда комментариев со спамом становится столько, что вручную их удалить уже не удаётся. С помощью одного SQL-запроса можно удалить сразу все комментарии помеченные как «Спам».

DELETE FROM wp_comments WHERE comment_approved = "spam";

Удалить все неподтвержденные комментарии

Если не хочется удалять вручную все неподтвержденные комментарии, их можно как и спам удалить одним запросом.

DELETE from wp_comments WHERE comment_approved = "0";

Удалить все неиспользуемые теги

Удалить все теги, которые не связаны ни с одним постом можно следующим запросом:

DELETE FROM wp_terms WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE count = 0); DELETE FROM wp_term_taxonomy WHERE term_id not IN (SELECT term_id FROM wp_terms); DELETE FROM wp_term_relationships WHERE term_taxonomy_id not IN (SELECT term_taxonomy_id FROM wp_term_taxonomy);

Удалить старые шорткоды

Часто после удаления плагинов в базе остаются нерабочие шорткоды, которые приходится удалять вручную. Это тоже можно сделать одним SQL-запросом.

UPDATE wp_post SET post_content = replace(post_content, "", "") ;

Где YOUR-SHORTCODE - удаляемый шорткод.

Удалить пингбеки и трекбеки

Интересно, кто-нибудь вообще ими пользуется?

Перед запуском убедитесь, что вы их отключили в админке.

DELETE FROM wp_comments WHERE comment_type = "pingback"; DELETE FROM wp_comments WHERE comment_type = "trackback";

Удалить временные опции

Временные опции в Вордпресс позволяют кешировать часть данных в БД. Но иногда этот кеш тоже может сильно раздуться. Очистить его можно одним запросом.

DELETE FROM wp_options WHERE option_name LIKE ("%\_transient\_%")

Оптимизировать таблицы

Раз уж мы зашли в phpMyAdmin, можно заодно проверить и оптимизировать таблицы. Делается это очень просто.

Выбираем все таблицы и нажимаем «Optimize table »

Оптимизация базы данных Вордпресс с помощью плагинов

Для Вордпресс существует ряд плагинов, с помощью которых можно почистить и оптимизировать базу данных. Самые эффективные из них: и .

Самый популярный плагин для оптимизации баз данных Вордпресс с более чем 600 тыс. активных установок. Очень прост в использовании, управляется одной кнопкой.

В разделе «Table Information» выводится информация по текущим размерам таблиц базы данных и объем, который плагин сможет освободить. В «Настройках» можно запланировать автоматическую оптимизацию БД. Например, каждую неделю, две недели или месяц.

Плагин WP-Optimize очень прост в использовании. Главное, не забудьте перед его использованием создать резервную копию сайта или хотя бы БД.

Набирающий обороты плагин от Лестера Чена - известного разработчика Вордпресс.

Плагин имеет интуитивно понятный интерфейс, сразу выводится подробный отчет о том, сколько ненужных данных содержится в базе данных. Можно сразу запустить полную оптимизацию, можно поэтапную.

В отличие от WP-Optimize, WP-Sweet для удаления использует функции Вордпресс, а не прямые запросы к базе данных. Это снижает вероятность пропуска каких-то ненужных данных. Однако, в WP-Sweep пока нет никакой автоматизации процессов.

В заключение

Я надеюсь, эта статья поможет вам оптимизировать и ускорить работу базы данных вашего сайта. Не забывайте перед внесением изменений в базу данных, всегда делать резервную копию сайта.

По материалам wp-rocket.me

Всё самое новое и интересное из мира Вордпресс в моём Телеграм-канале . Подписываемся!

Если вы используете WordPress на протяжении длительного времени, то велика вероятность того, что вам следует почистить свой сайт. Регулярные чистки позволят вам уменьшить размер своей бады данных, что в свою очередь будет означать быстрые и мелкие файлы резервных копий. В сегодняшней статье мы покажем вам как почистить базу данных WordPress.

По мере использования WordPress, ваша база данных накапливает множество дополнительных данных, таких как редакции записей, спам-комментарии, данные плагинов, которые вы уже не используете и многое другое. Удаление этих ненужных данных может существенно уменьшить размер вашей БД, что ускорит процесс бекапа и добавит немного производительности сайту. Как минимум, просто не имеет смысла хранить в базе данные, которые впоследствии никогда не будут использоваться.

Давайте же рассмотрим способы «очистки» вашей базы данных WordPress.

Перед началом сделайте бекап!

Прежде чем вы что-то предпримете, сначала сделайте полную резервную копию своего сайта. Изменения, сделанные плагином вычистки мусора, необратимы. Даже если эти изменения не затронут ваши записи или комментарии, всегда лучше перестраховаться.

Вычищаем свою БД WordPress с помощью WP-Sweep

Первым делом вам необходимо будет установить и активировать плагин WP-Sweep plugin . После активации просто переходим в раздел Инструменты » Sweep для очистки своей БД.

Плагин проведет анализ вашей базы данных WordPress и отобразит отчет о том, сколько мусора вы сможете очистить. Отчет плагина разделен на различные секции для записей, комментариев, метаданных пользователей, опции, термины и оптимизацию БД.

Вы можете детально изучить каждый найденный элемент и вычищать их по одному, или же можно прокрутить вниз страницу и нажать на sweep all для очистки всего мусора в вашей базе данных WordPress.

Очистка может занять некоторое время в зависимости от того, насколько велика ваша БД. WP-Sweep отобразит прогресс путем обновления статистики на странице.

Преимущества WP-Sweep перед WP-Optimize?

Возможно вы удивились, почему мы пишем о WP-Sweep, когда есть другой очень популярный плагин WP-Optimize, выполняющий по сути те же самые функции.

Также основной отличительной характеристикой является то, что WP-Sweep использует корректные функции удаления WordPress настолько, насколько это возможно вместо прямого выполнения MySQL запросов.

Что очищает WP-Sweep?

WP-Sweep использует корректные функции удаления WordPress для очистки БД. На момент написания этой статьи, он справляется со следующим:

  • Редакции записей
  • Автоматически сохраненные черновики
  • Удаленные комментарии
  • Неподтвержденные комментарии
  • Комментарии, являющиеся спамом
  • Неиспользуемые метаданные записей
  • Неиспользуемые метаданные комментариев
  • Неиспользуемые метаданные пользователей
  • Неиспользуемые отношения терминов
  • Неиспользуемые термины
  • Дублирующиеся метаданные записей
  • Дублирующиеся метаданные комментариев
  • Дублирующиеся метаданные пользователей
  • Промежуточные вариации
  • Оптимизация таблиц базы данных
  • Кеш oEmbed в метаданных записей

Вот и все, мы надеемся, что эта статья помогла вам вычистить мусор из вашего сайта на WordPress с помощью WP-Sweep.

По всем вопросам и отзывам просьба писать в комментарии ниже.

Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.

Здравствуйте! В ходе моей работы появилась необходимость в MySQL очистить таблицу наиболее быстрым способом. Напрямую с базой данных и языками программирования типа PHP, C сталкиваться последние времени приходится не часто. Кое-что уже подзабыл и залез в свои заметки, чтобы освежить память.

На удивление быстро все нашел и вспомнил. В текущей публикации поделюсь с вами.

Полная и выборочная очистка таблицы

В целом для такой работы с MySQL есть два подходящих запроса:

  • TRUNCATE TABLE.
  • DELETE FROM.

У них есть существенная разница в производительности – скорости исполнения операции.

TRUNCATE обычно выполняется быстрее, потребляя меньше системных ресурсов.

Для примера покажу, как он работает. Допустим есть таблица под названием «newspk», которую требуется очистить. Для этой цели применим нижеприведенный запрос.

TRUNCATE TABLE newspk;

Итак, с полной очисткой таблицы и её преимуществами разобрались, посмотрим на выборочную.

DELETE FROM newspk WHERE id=’34’;

Здесь уже используется условие, так что удалиться только запись с идентификатором 34. Если же условие WHERE не будет, то произойдет полное очищение.

Отмечу, что программирование относится к моей сфере деятельности, однако является второстепенной темой на этом блоге. Основная тематика – работа в интернете. При том стараюсь рассматривать не всё подряд, а только нормальные способы с хорошими финансовыми перспективами. При желании можете посмотреть публикации.

Обновления на блоге появляются регулярно. Анонсы новых материалов добавляю в социальные сети, ссылки для перехода есть в боковой колонке. Также через специальную форму можно подписаться на бесплатную рассылку по e-mail. До связи.