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

очистить базу данных Ведение блога

Здравствуйте читатели блогга 7sof.ru! На днях я решил очистить базу данных MYSQL от мусора. После очистки спешу поделиться с вами этой полезной информации. Помню, когда я еще не знал о том, что нужно чистить базу данных, вел себе блог и ничего не подозревал, вдруг мой блог начал работать не так как всегда, начал жестко тормозить.

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

Внимание! Перед началом очистки обязательно сделайте копию своего сайта.

Зачем чистить базу данных MySQL

Как я уже написал в самом начале статьи, базу данных нужно постоянно чистить потому, что однажды в один прекрасный день она раздуется до таких размеров, что наш хостинг просто ее не выдержит! База данных растет каждый день, при увеличении постов, которые вы пишете, соответственно и увеличивается база данных.

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

Откуда берется мусор в базе данных MySQL

Вот сейчас Вам станет на много понятнее и разберетесь, что именно нужно удалять из базы данных.

Почему растет вес базы данных mysql?

  • Увеличение количества статей на блогге
  • Увеличение количества резервных копий статей
  • Увеличение количества комментариев на блогге и спам комментариев
  • Из-за установленных плагинов на блогге
  • Из-за большого количества пингбэков

И так давайте подробнее разберем каждый пункт.


Большое количество статей

Увеличение веса базы данных из-за написания большого количества статей – это нормально, и так понятно, что наши статьи имеют определенный вес и чем их больше, тем больше места они занимают. Но если на блогге не отключены резервные копии или они не очищаются, то вес базы данных становиться в 2 раза больше (как минимум).

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

ревизии статьи


Большое количество пингбэков

Также база данных растет из-за большого количества пингбэков. Что это такое? Объясню, как говориться, на пальцах. Какой-то человек написал статью на свой блог и в своей статье поставил ссылку на ваш блог.

Если у него в настройках блогга стоит включенная функция «Пытаться оповестить блогги, упомянутые в статье» то в вашу базу данных будет помещена еще одна запись, в которой буде указано, что такой то дядя или тетя поставили ссылку на наш блог.

функция пингбэков

Только есть одно, но! Я заметил, что в качестве пингбэков, в базу данных заносятся и данные по перелинковке. Когда ставите ссылку из одной своей статьи на другую, то это считается, как пингбэк и заносится в базу данных (может быть это не у всех так, точно не скажу), а перелинковка делается всегда качественная, вот и представьте, как можно засорить базу данных таким образом.


Большое количество плагинов

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

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


Как очистить базу данных mysql WordPress от мусора

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

  1. Очистка с помощью плагина
  2. Очистка без плагинов

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


Как почистить с помощью плагина

Поможет нам очистить базу данных плагин WP– CleanUp.

И так приступим:

  • Скачивайте плагин здесь
  • Устанавливайте его на свой блог

После установки, в админ панели блогга переходим в раздел «Настройки» => «WP CleanUp»

раздел настройки WP CleanUp

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

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

Нас интересует пункт «Revision» — это ревизии постов (копии). Нажимаем «Delete» и очищаем базу от ревизий. Если вам нужны черновики или есть не дописанные статьи, то пункт «Draft» оставляем.  Аналогичным способом чистим комментарии: «Moderated Comments», «Spam Comments» и «Trash Comments». После очистки плагин можно деактивировать (отключить) и когда он понадобиться снова активировать (включить). Вот так, с помощью данного плагина можно в один клик чистить нужные разделы базы.


Очистить базу данных MYSQL без плагина

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

вкладка SQL

Удаляем ревизии. Для этого в появившемся окне вставляем следующий запрос:

DELETE FROM wp_posts WHERE post_type = «revision»;

И нажимаем «вперёд»

запрос sql

Пояснение запроса. Таблица wp_posts имеет поле post_type. Оно может иметь одно из следующих значений: «post», «page» или «revision». Т.к. мы хотим избавиться от всех резервных постов, то наше значение – «revision». Просто запускаем команду, чтобы удалить все элементы в таблице wp_posts, в которой поле post_type равно «revision».

Удаляем не нужные комментарии. Для этого как и в предыдущем способе делаем запрос:

DELETE FROM wp_comments WHERE comment_approved = 'spam';

Для удаления не рассмотренных комментариев, нужно сделать запрос:

DELETE FROM wp_comments WHERE comment_approved = '0';

Пояснение запроса. Таблица wp_comments содержит поле с именем comment_approved. Именно здесь делается отметка для каждого комментария: одобрен – 1, удален или еще не одобрен – 0, спам – spam. Запустив поочередно эти команды (в одиночных кавычках меняем значения по очереди, т.е. сначала выполняем со значение ’0?, затем – ’1? и напоследок – ‘spam’, таким образом мы удаляем все комментарии, которые отвечают нашим критериям.

Вот мы и очистили базу данных от мусора. Как часто нужно чистить базу данных wordpress? Всё зависит от того, как часто вы добавляете новости, много у вас комментариев и так далее. Я провожу чистку от мусора раз в 2 — 3 месяца.

На этом у меня всё. До новых встреч, всем пока!

Оцените статью
Блог полезной информации
Добавить комментарий