Управление базой данных MySQL -дело непростое и требует осторожности. Сегодня — о запросах к БД, задаваемых вручную.
Внимание! Перед любыми изменениями сделайте резервную копию!
Для управления базой данных mysql чаще всего используется приложение phpMyAdmin, оно находится в хостинг панели.
Если по каким-то причинам приложение phpMyAdmin недоступно — применяем альтернативный метод↵
В панели управления хостингом найдите вкладку под таким названием — phpMyAdmin, либо так:
- База данных
- Database
- MySQL
Для того, чтобы получить доступ к базе данных необходимо ввести логин и пароль. Он отличается от того логина и пароля, с помощью которого вы попадете на панель управления хостингом или в админку сайта.
Если вы забыли логин или пароль к своей базе данных, то их можно узнать в файле wp-config.php, который находится в корневой папке сайта. Подробнее ЗДЕСЬ.
Запросы к базе данных mysql
- Удаление данных от удаленных плагинов и постов
- Удаление спам комментариев
- Удаление комментариев, ожидающих проверки
- Удаление неиспользуемых тегов
- Удаление Trackback и Pingback
- Удаление ревизий постов
- Удаление шорткодов плагинов и тем
- Удаление постов старше Х дней
- Удаление других комментариев
Как делать SQL запросы к базе данных?
Запрос создается на вкладке SQL.
Когда запрос готов, жмем Вперед.
Если вы получили ответ, что 0 таблиц было изменено, значит, текущее состояние параметра соответствует запросу.
Удаление данных от удаленных плагинов и данные постов
После удаления ненужных плагинов в таблице wp_postmeta
могут остаться записи от них. В этой же таблице находятся мета данные постов.
Создайте запрос для удаления неиспользуемых записей плагинов и постов, которые остались после удаления плагинов или постов.
DELETE FROM wp_postmeta WHERE meta_key = ‘ваш-мета-ключ‘;
Замените ваш-мета-ключ на нужное значение.
Например:
DELETE FROM `wp_postmeta` WHERE `meta_key` IN(‘_edit_lock’, ‘_edit_last’,‘_wp_old_slug’)
_edit_lock
данный параметр отвечает за время в течение которого автор может изменять свое сообщение в течение указанного срока. В базе данных значение может выглядеть так:edit_lock = 60
Число 60 говорит о том, что у пользователя есть 60 минут на редактирование своего сообщения с момента публикации. Данный параметр считается абсолютно бесполезным в том случае, если владелец сайта является единственным автором статей._edit_last
Данный параметр содержит информацию о времени последнего редактирования записи._wp_old_slug
Параметр содержит информацию о предыдущем адресе поста, если были изменения.
Удаление спам комментариев
Удалить весь спам из бд можно этим запросом:
DELETE FROM wp_comments WHERE comment_approved = ‘spam‘;
.
Удаление комментариев, ожидающих проверки
Если у вас много спама, ожидающего проверки, вы можете удалить его этим запросом. Перед удалением проверьте, чтобы не удалились нужные комментарии.
DELETE FROM wp_comments WHERE comment_approved = ‘0‘;
Удаление неиспользуемых тегов
Если у вас есть тег, который не связаны ни с одной статьей, удалите его этим запросом:
DELETE FROM wp_terms wt
INNER JOIN wp_term_taxonomy wtt ON wt.term_id = wtt.term_id WHERE wtt.taxonomy = ‘post_tag’ AND wtt.count = 0;
Удаление Trackback и Pingback
Если вы выключили эти функции и хотите удалить их записи из базы данных, используйте эти запросы:
Trackback
DELETE FROM wp_comments WHERE comment_type = ‘trackback‘;
Pingback
DELETE FROM wp_comments WHERE comment_type = ‘pingback‘;
Выключить эти функции в WordPress можно в Настройках — Обсуждения.
Удаление ревизий постов
Сохраненные версии постов хранятся в базе данных. Если у вас большой сайт, большое количество ревизий сильно увеличивает ее размер. Чтобы удалить их все, используйте этот запрос:
DELETE a,b,c FROM wp_posts a
LEFT JOIN wp_term_relationships b ON ( a.ID = b.object_id)
LEFT JOIN wp_postmeta с 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’
Удаление шорткодов плагинов и тем
Если вы пользовались каким-то плагином, который вставляет шорткоды, или вы сменили тему, в которой были встроены шорткоды, то теперь шорткоды появятся на сайте в виде текста. Чтобы удалить все записи о шорткодах из базы данных, сделайте этот запрос:
UPDATE wp_post SET post_content = replace(post_content, ‘[ваш-шорткод]‘, »);
Удаление постов старше Х дней
Если вы хотите удалить посты старше Х дней, используйте этот запрос:
DELETE FROM ‘wp_posts’
WHERE ‘post_type’ = ‘post’
AND DATEDIFF(NOW(),’post_date’) > X-дней
Замените X-дней на нужное число дней.
Удаление других комментариев
Иногда некоторые плагины добавляют комментарии в таблицу wp_commentsmeta
вместо wp_comments
. Если вы хотите очистить эту таблицу, используйте этот запрос:
SELECT FROM wp_commentsmeta WHERE comment_id
NOT IN (
SELECT comment_id
FROM wp_comments
);
Удачи!