Суббота, Октябрь 21Блог полезной информации

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Нас интересует пункт «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 месяца.

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


Смотрите также:





Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Нажимая кнопку «Отправить комментарий», я принимаю пользовательское соглашение и подтверждаю, что ознакомлен и согласен с политикой конфиденциальности этого сайта