Как посмотреть SQL запросы к базе данных в WordPress
Когда вы открываете в браузере сайт на WordPress, в фоновом режиме происходит много интересных вещей. В это время платформа отправляет множество запросов в базу данных, чтобы получить конкретные объем информации.
Если вы разработчик, и вы хотите знать все о запросах к базе данных, система WordPress не предоставит вам простой способ для этого. К счастью, в репозитории WordPress для этого есть подходящие плагины. И один из таких плагинов мы сегодня и рассмотрим (Query Monitor). С помощью этого инструмента вы можете отслеживать все SQL запросы к вашей базе данных, что поможет вам отследить то, какие ресурсы использует ваш сайт.
В сегодняшней статье мы поговорим о том, что такое SQL запросы к базе данных в WordPress и то, как их можно отследить. Для этого мы будем использовать плагин Query Monitor.
Что такое SQL запросы к базе данных в WordPress
Проще говоря, SQL запросы (query) – это обращение к базе данных для получения нужной информации.
Когда кто-то загружает ваш сайт, в фоновом режиме запускается несколько запросов. Чтобы мониторить эти запросы, вы можете использовать такие плагины как Query Monitor.
Мониторинг запросов к базе данных может позволить вам:
- Увидеть, какие плагины или темы оказывают большее влияние на производительность сайта. Каждый запрос занимает время, и чем больше запросов выполняет конкретный инструмент, тем больше он будет влиять на производительность вашего сайта.
- Следить за тем, какие ресурсы вы используете. Инструменты мониторинга позволяют увидеть, сколько памяти сайт использует и сколько контента успешно закэшировано.
- Улучшить диагностику. Если вы знаете, как отслеживать запросы к базе данных, вы можете более эффективно решать многие проблемы. Например, если плагин работает неправильно, это может быть связано с тем, что запрос не запускается должным образом.
Мониторинг запросов к базе данных в основном делается для повышения производительности сайта. Выясняя, какие плагины или темы используют больше всего ресурсов, вы можете предпринять шаги для их оптимизации. Например, вы можете заменить ресурсоемкие инструменты на более оптимизированные альтернативы.
Плагин для мониторинга запросов к базе (Query Monitor)
Плагин Query Monitor – это сложный инструмент, который может сделать гораздо больше, чем просто помочь вам отслеживать запросы. Он также позволяет отслеживать AJAX вызовы, запросы REST API и даже перенаправления (редиректы).
Плагин позволяет вам точно определить, какие компоненты какой запрос делают, сколько времени занимает обработка и многое другое. Он также сразу же уведомит вас о медленных SQL запросах, дублирующих запросах или любых ошибках, с которыми он столкнется. Это может быть полезно как для устранения неполадок, так и для целей разработки.
Все это делает Query Monitor невероятно полезным плагином. Единственная проблема заключается в том, что в плагине может быть трудно разобраться, если у вас нет опыта в разработке WordPress. В следующем разделе мы поговорим подробнее о том, как анализировать логи Query Monitor, чтобы у вас это не вызывало трудностей.
Особенности плагина:
- Отслеживайте запросы к базе данных, AJAX вызовы, запросы REST API и перенаправления.
- Определите, какие компоненты WordPress какой SQL запрос делают к базе данных.
- Проверьте, сколько времени занимает обработка каждого запроса, и какую информацию он обрабатывает.
- Получайте уведомления о медленных запросах, повторяющихся запросах и других типах ошибок.
- Стоимость плагина: бесплатно
Как мониторить запросы к базе данных в WordPress
Первым шагом процесса является установка плагина Query Monitor. Как только плагин станет активным, в самом верхнем разделе панели администратора вы увидите новый блок:
В этом разделе вы найдете информацию по времени генерации страницы, пиковому использованию памяти, времени SQL запросов к базе данных и общему количеству запросов. Если вы нажмете на раздел, появится новое меню, включающее множество опций. Выбор любого из них приведет вас к обзору этой опции.
Отчет разбит на отдельные разделы, к которым вы можете перейти, используя меню в панели администратора.
Здесь есть раздел «Дублированные запросы», в котором указаны ошибочные (дублирующие) запросы к базе данных. Рекомендуем проверять этот раздел, если один из ваших плагинов не работает должным образом.
В разделе «SQL запросы по компонентам» вы можете проверить, сколько запросов выполняет каждый из ваших плагинов и тем. Помимо количества запросов, которые выполняет каждый компонент, наиболее важной метрикой здесь является время. Чем выше значение в столбце Время, тем больше плагин или тема может повлиять на производительность вашего сайта.
В любом случае, если ваш сайт сталкивается с проблемами производительности, этот плагин предоставит вам быстрый способ определить, является ли какой-либо из компонентов WordPress виновником этого. Имейте в виду, для низкой производительности сайта может быть много причин, иногда плагины не обязательно являются виновниками.
Краткий итог
Каждый сайт на WordPress имеет свою собственную базу данных, с которой он связан. Это означает, что система должна обрабатывать запросы к этой базе данных. Чем сложнее ваш сайт, тем больше запросов он будет обрабатывать. Отслеживать эти запросы – это отличный способ устранения проблем и выяснения того, что плагины и темы сайта делают в фоновом режиме.
В большинстве случаев вам нужно следить за дублирующимися запросами, чтобы избежать проблем с совместимостью.
Отслеживая, как работают различные области вашего сайта, вы можете быстро решать проблемы и оптимизировать аспекты, которые истощают ресурсы вашего сервера.
Коллекция полезных SQL запросов для WordPress (20+) (Обзор)
Админ панель WordPress, является по сути лишь панелью управления базой данных,(БД) Системы управления содержимым (англ. Content Management System). Практически вся информация сайта хранится в БД и порой чтобы изменить ту или иную информацию нужно потратить немало времени.
Например, чтобы закрыть комментарии у всех записей придется провозится немало времени, а если таких записей около 5000, то сделать это через админку вообще мало реально и отважатся на такое только тру-задроты, которые не знают, что подобные вещи можно сделать используя SQL запросы, примеры которых вы увидите ниже.
Внимание перед любым изменением вашей базы данных всегда делайте резервную копию, иначе вы рискуете повредить или потерять ваши данные.
Чтобы воспользоваться sql командой, вам необходимо:
- 1. Войти в PhpMyAdmin, выбрать вашу базу данных WordPress.
- 2. Нажмите кнопку «SQL». Вставьте нужный код в окно SQL команды.
- 3. Выполните её.
Управление логином/паролем
Смена пароля
Иногда жизненно необходимо восстановить пароль или просто поменять его, а доступа к админ части сайта нет. Для смены пароля можно использовать такой SQL запрос:
UPDATE wp_users SET user_pass = MD5('newpass') WHERE user_login = 'admin'
newpass — новый пароль, admin — логин пользователя у которого мы изменяем пароль.
Если вдруг вы забыли логин, но точно помните, что вы были первым юзером на блоге, а значит ваш ID равен 1, то можно идентифицировать юзера для смены пароля по ID (WHERE ID=1):
UPDATE wp_users SET user_pass = MD5('newpass') WHERE ID=1;
Смена логина
По умолчанию WordPress создает 1 логин для пользователя и в дальнейшем его невозможно изменить. Это не совсем так. Логин можно поменять, используя такой SQL запрос:
UPDATE wp_users SET user_login='shef' WHERE user_login='admin'
Здесь мы меняем логин admin на shef.
Управление комментированием
Частенько бывает нужно массово закрыть или открыть комментарии или сделать что-то еще с комментариями. Для таких манипуляций можно использовать следующие SQL запросы:
Закрыть комментарии для всех записей:
UPDATE wp_posts SET comment_status = 'closed'
Открыть комментарии для всех записей:
UPDATE wp_posts SET comment_status = 'open'
Комментирование только для зарегистрированных пользователей:
UPDATE wp_posts SET comment_status = 'registered_only'
Удаление спам комментариев
Некоторые антиспам плагины, пропускают все комментарии, подозрительные помечают как спам. Вы можете их одобрить или удалить, простым SQL запросом:
DELETE FROM wp_comments WHERE comment_approved = 'spam'
Если нужно удалить все не одобренные комментарии, используйте:
DELETE FROM wp_comments WHERE comment_approved = 0
Закрыть комментарии в рубрике
Вы можете закрыть комментарии для записей определенной рубрики:
UPDATE wp_posts p LEFT JOIN wp_term_relationships rel ON ( p.ID = rel.object_id ) LEFT JOIN wp_term_taxonomy tax ON ( tax.term_taxonomy_id = rel.term_taxonomy_id ) LEFT JOIN wp_terms tm ON ( tm.term_id = tax.term_id ) SET p.comment_status = 'closed' WHERE tm.slug = 'stat'
stat — название рубрики.
Закрыть комментирование в старых постах
Чтобы закрыть возможность оставлять комментарии для старых постов, например, опубликованных до 1 января 2010 года, используйте SQL запрос:
UPDATE wp_posts SET comment_status = 'closed' WHERE post_date < '2010-01-01' AND post_status = 'publish'
Вы закроете все комментарии старше 2010-01-01
Удаление комментариев с плохими url
Можно удалить комментарии по маске, например, если в url комментатора встречается сочетание букв poker:
DELETE a,b FROM wp_comments a LEFT JOIN wp_commentmeta b ON ( a. comment_ID = b.comment_id ) WHERE a.comment_author_url LIKE '%poker%'
Изменение сайта комментатора
Любой url, который указывает комментатор в поле «сайт» можно изменить при редактировании комментария, но если комментариев этого комментатора много, то везде изменять url — занятие для тру-задротов, проще запросом:
UPDATE wp_comments SET comment_author_url = 'http://site.ru' WHERE comment_author = 'ivanov' AND comment_author_email = '[email protected]'
site.ru — адрес сайта комментатора
[email protected] — почта комментатора
Еще один вариант аналогичный предыдущему примеру. Заменит все совпадения old-site.ru на new-site.ru, в url всех комментаторов:
UPDATE wp_comments SET comment_author_url = REPLACE( comment_author_url, 'old-site.ru', 'new-site.ru' )
Меняем ID родительского комментария
Иногда пользователи некорректно постят древовидные комментарии — отвечая на коммент не используют кнопку «ответить» в итоге получается, что ответ теряется. Чтобы исправить эту ситуацию можно изменить ID родительского коментария, чтобы правильно расположить новый коммент в дереве:
UPDATE wp_comments SET comment_parent=21 WHERE comment_ID=97
21 — родительский комментарий, 97 — комментарий который нужно поправить.
E-mail’ы комментаторов
Вы можете собрать все e-mail’ы своих комментаторов, например, чтобы сделать — рассылку, используя простой SQL запрос:
SELECT DISTINCT comment_author_email FROM wp_comments
В итоге вы получите список всех e-mail.
Управление пингами и уведомлениями
Так же как комментариями, можно управлять пингами. Вот несколько примеров такого управления:
Закрываем возможность принимать пинги
Вели вы блог, вели и вдруг пошла нагрузка на сервер через пинги, которые, в общем, никакой практической пользы не несут и которые, можно вообще закрыть и забыть о них, используя SQL запрос:
UPDATE wp_posts p SET p. ping_status = 'closed'
closed -можно заменить на open и открыть пинги вновь.
Удаляем все уведомления
Уведомления — это те же пинги — это такие «комментарии», которые оповещают вас о том, что Вася Пупкин сослался на вас. Если вы решили что комментарии вам не нужны, их можно удалить оптом, используя SQL запрос:
DELETE FROM wp_comments WHERE comment_type = 'pingback';
После удаления пингов логично закрыть возможность получать пинги (см. предыдущий пример), также пинги нужно закрыть в настройках.
Управление метками
Несмотря на то что WordPress предоставляет достаточно гибкий интерфейс управления метками, вам могут пригодится следующие SQL запросы.
Получаем пустые метки
Спустя несколько лет ведения блога, могут появится пустые метки — то есть метки в которых нет записей. В поздних версиях WP такие метки можно удалить, на странице настроек меток, отсортировав их по количеству записей, а в ранних версиях так отсортировать не получится и для такой операции вам в помощь такой SQL запрос, который выведет все метки в которых нет ни одной записи:
SELECT * 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
Вместо post_tag можно написать любую другую таксономию.
Удаляем пустые метки
В предыдущем примере мы получали пустые метки, а теперь просто удалим их:
DELETE a,b,c FROM wp_terms a LEFT JOIN wp_term_taxonomy c ON a.term_id = c.term_id LEFT JOIN wp_term_relationships b ON b.term_taxonomy_id = c.term_taxonomy_id WHERE ( c.taxonomy = 'post_tag' AND c.count = 0 )
Если изменить c.count = 0 на c.count < 2, то будут удалены все метки с 0 и 1 записями в них.
Смена домена
Исправляем домен в опциях
При переезде на другой домен, помимо того, что нужно заменить домен везде где он встречается в шаблоне, также нужно изменить записи в Базе Данных в двух местах, в таблице опций (wp_options):
UPDATE wp_options SET option_value = 'http://site.ru/' WHERE option_name = 'home' OR option_name = 'siteurl'
Запрос меняет значение полей siteurl и home. Не забудьте поменять site.ru на ваш новый домен!
Исправляем домен в записях
При смене домена, надо позаботится и о том, чтобы в постах были правильные внутренние ссылки, т.е. ссылки из статей на другие статьи блога, после смены домена станут битыми. Обычно конечно настраивается переадресация со старого домена на новый в .htaccess или PHP с 301 редиректом, но помимо этого эстетически правильно, если в статьях не будет ссылок на старый домен. Этим запросом мы заменим все виды ссылок, включая ссылки на картинки:
UPDATE wp_posts SET post_content = REPLACE (post_content, 'old', 'new')
‘old’, ‘new’ старый и новые домены, соответственно. Не забудьте изменить.
Аналогично можно поменять любую строку, например, слово Вордпресс на WordPress. См. пример ниже.
Меняем домен в произвольных полях
В произвольных полях также могут быть записи хранящие какие-либо url’ы на старый домен, поэтому при смене домена возможно нужно заменить домен и в произвольных полях:
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'old', 'new')
‘old’, ‘new’ старый и новые домены, соответственно. Не забудьте изменить.
Редактируем GUID
При смене домена сайта, наверное, нужно позаботиться о том, чтобы у всех записей поле guid в таблице posts было корректное. По факту, я не знаю зачем это поле вообще нужно и где оно используется, ни разу не встречал, чтобы оно на что-то влияло. Поговаривают, что оно нужно для корректной переадресации с некорректных url’ов, но это не так — я проверял.
UPDATE wp_posts SET guid = REPLACE (guid, 'old', 'new')
‘old’, ‘new’ старый и новые домены, соответственно. Не забудьте изменить.
Замена любого текста или ссылки в записях
Можно заменить текст в постах и сделать это прямо в Базе Данных. Например, добавить атрибут target=»blank» ко всем ссылкам с атрибутом rel=»nofollow»:
UPDATE wp_posts SET post_content = REPLACE (post_content, 'rel="nofollow"', 'target="blank" rel="nofollow"')
Вы можете изменять названия таблицы и поля соответственно на свое усмотрение:
wp_posts — таблица, post_content — поле таблицы.
Еще можно проставить внутренние ссылки с определенным анкором, например, из слова «WordPress» сделать ссылку на какую-нибудь релевантную страницу, чтобы поднять её значимость. В прочем, для этого существуют специальные плагины, которые не трогают текст в БД, а создают ссылки на лету:
UPDATE wp_posts SET post_content = REPLACE (post_content, ' WordPress ', ' <a href="http://site.ru/статья-о-wordpress">WordPress</a> ')
Управление произвольными полями (postmeta)
Удаляем ненужные произвольные поля
Большинство плагинов создают себе произвольные поля, даже если вы отключите или удалите плагин произвольные поля останутся в базе данных. На скорость сайта это не влияет, но БД пополняется такого рода мусора значительно. В такой или подобной ситуации, все произвольные поля с названием, например «meta_name» можно удалить простым SQL запросом:
DELETE pm FROM wp_postmeta pm WHERE pm.meta_key = 'meta_name'
Если название произвольного поля (meta_name) в кириллице, то убедитесь, чтобы кодировка файла из которого будет производиться SQL запрос соответствовала кодировке блога (обычно UTF-8 без BOM).
Получим все произвольные поля с пустым значением
Несмотря на то, что в админке создать произвольное поле не задав ему никакое значение не получится, по крайней мере стандартными средствами, такие «пустые» произвольные поля все же могут быть в вашей Базе Данных. Например, их могут оставить там плагины или кривые руки. Чтобы посмотреть есть ли подобные поля и затем решить их судьбу, воспользуетесь SQL запросом:
SELECT * FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL
или
select * from wp_postmeta where meta_value = ''
Удаляем все произвольные поля с пустым значением
DELETE pm FROM wp_postmeta pm WHERE pm.meta_value = '';
Меняем авторство
Чтобы поменять одного автора статьи на другого (оба пользователя должны быть зарегистрированы разумеется), можно использовать такой SQL запрос:
UPDATE wp_posts SET post_author=1 WHERE post_author=2
где, 1 — ID старого автора, а 2 — ID нового автора. ID пользователей ищите в админке.
Удаляем ревизии записей
Редакции записей — это новая функция начиная с WordPress 2.6, которая очень полезна, но при этом увеличивает размер вашей базы данных MySQL. Конечно же, можно вручную удалить редакции записей, но это будет очень долгая и нудная работа.
В таблице wp_posts есть поле с названием post_type. В этом поле может встречаться один из таких параметров, как «post», «page» или «revision». Если мы хотим избавиться от редакций записей, то нужно выполнить команду удаления всех записей в таблице wp_posts, в которых поле post_type имеет параметр «revision». Ниже SQL запрос, который удалит все ревизии записей в БД и всякие связи с ними:
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) WHERE a.post_type = 'revision'
Деактивация всех плагинов
Бывают ситуации, когда невозможно зайти в админку сайта или сам сайт из-за одного некорректно работающего плагина. Такой плагин можно переименовать или удалить по FTP или просто деактивировать все плагины SQL запросом, что даст возможность войти в админ часть и на страницу списка плагинов:
UPDATE wp_options SET option_value = '' WHERE option_name = 'active_plugins'
8 полезных SQL-хаков для WordPress
За последние 10 лет, база данных MySQL стала невероятно популярной в сети Интернет. Каждый WordPress-блог управляется MySQL базой данных, которая содержит посты блога, настройки, комментарии и многое другое.
Хотя и имется достаточное плагинов с помощью которых можно решить некоторые проблемы, но иногда у вас нет другого выбора, кроме как выполнить SQL-команды в PhpMyAdmin или непосредственно в базе данных через SSH. Давайте взглянем на 8 полезных SQL-хаков для WordPress. Каждый раздел этого поста представляет собой проблему, предлагает решения и дает пояснения, которые помогут вам понять решение.
1. Создаем резервную копию Вашей базы данных.
Проблемы. Несмотря на то, что советы в остальной части этого сообщения были протестированы, вы не должны попробовать какой-либо из них без предварительного создания резервной копии базы данных MySQL.
Решение. Чтобы вручную создать резервную копию базы данных WordPress, выполните следующие действия:
1. Войти в PhpMyAdmin и выберите вашу базу данных WordPress.
2. После этого нажмите кнопку «Экспорт», расположенных в горизонтальном меню.
3. Выберите метод сжатия (лично я использую GZIP), и нажмите кнопку «Выполнить».
4. Ваш браузер спросит вас, хотите ли вы скачать архив. Конечно, выберите «Да», а затем сохранить его на жестком диске.
Пояснение. Отметим, что создать резервную копию базы данных WordPress можно легко с помощью плагина WP-DB-Backup. Пользователи должны установить этот плагин, если они этого еще не сделали, и создавать регулярные резервные копии своих данных.
2. Удаляем ревизии постов (post revisions).
Проблема. Посты ревизий, новая функция WordPress 2.6, позволяет сохранять все версии постов с возможностью сравнения изменений и отката версий — ревизии, но она увеличивает размер базы данных MySQL. Конечно, вы можете вручную удалить их, но это очень долгая и скучная работа.
Решение. Решение этой проблемы простое: мы разом удаляем все посты ревизий с помощью простого SQL-запроса. Результат может быть почти невероятный если у вас есть много таких постов: размер вашей базы данных может уменьшится в два раза!
- Войти в PhpMyAdmin и выберите вашу базу данных WordPress.
- Нажмите кнопку «SQL». Вставьте следующий код в окно SQL команды:
DELETE FROM wp_posts WHERE post_type = «revision»;
- Выполните её. В зависимости от того, сколько постов в вашей базе данных, вы можете съэкономить много драгоценного пространства!
Разъяснение кода. Wp_posts таблица имеет поле post_type. Это поле может иметь одно из значений, таких, как «post», «page» или «revision». Если мы хотим избавиться от поста «revision», мы просто запускаем команду, чтобы удалить все элементы в таблице wp_posts, в которой поле post_type равно «revision».
3. Удаляем 5000 спам-комментариев за секунду.
Проблема. Реальная история: мой друг недавно создал свой блог и начал пиарить его везде в Интернете. После нескольких недель напряженной работы, он отправился на несколько дней в отпуск и у него не было доступа в Интернет. Когда он вернулся домой, он зашел на свой блог и увидел что более 5000 комментариев ожидают модерации! Конечно, большинство из них были спамом, но он собирался проверить их все, чтобы не удалить полезные замечания, сделанные кем-либо из его регулярных читателей.
Решение. К счастью, мой друг рассказал мне о своей проблеме со спамом. Он уже провел 45 минут вручную удаляя спам, когда я показал ему как это можно решить с помощью SQL.
- Войдите в PhpMyAdmin и выберите вашу базу данных WordPress.
- Нажмите кнопку «SQL». Вставьте следующий код в окно SQL команды:
DELETE FROM wp_comments WHERE comment_approved = ‘0’;
- Прощайте плохие комментарии!
Пояснение. Wp_comments таблица содержит поле с именем comment_approved, которое содержит булево значение (1 или 0). Утвержденные комментарии имеют значение 1, а комментарии, ожидающие подтверждение модератора, имеют значение 0. Запустив этот скрипт, мы просто удаляем любые комментарии, которые не были еще утверждены.
Будьте осторожны. Хотя это решение может быть очень полезно, но оно также удалит полезные неутвержденные комментарии. Поэтому если вы не используете Akismet, установите его прямо сейчас в целях предотвращения спама.
4. Изменяем атрибуты поста.
Проблема. Когда вы устанавливаете WordPress, создается аккаунт «Администратор». Некоторые блоггеры делают ошибку, используя эту учетную запись, чтобы написать свои посты, а затем понимают, что лучше писать под своим именем, а не под именем безликого Администратора, существующего на каждом блоге.
Решение. Изменять атрибут «автор» для каждого поста занимает много времени. К счастью, SQL может помочь вам добиться своей цели:
- Войдите в свой PhpMyAdmin и выберите вашу базу данных WordPress.
- Во-первых, мы должны получить ID всех пользователей. Чтобы сделать это, откройте командную строку SQL и выполните следующую команду:
SELECT ID, display_name FROM wp_users;
- PhpMyAdmin отобразит список идентификаторов пользователей Вашего блога. Допустим, что NEW_AUTHOR_ID идентификатор недавно созданный автором, и OLD_AUTHOR_ID это оригинальный ID учетной записи Администратора.
- После того, как вы найдете идентификаторы NEW_AUTHOR_ID и OLD_AUTHOR_ID , запустите следующую команду:
UPDATE wp_posts
SET post_author=NEW_AUTHOR_ID
WHERE post_author=OLD_AUTHOR_ID;
Вот и все. Все посты, которые ранее были отнесены к администратору теперь отнесены к тому пользователю, которого вы выбрали.
5. Вручную «сбрасываем» Ваш пароль.
Проблема. В целях защиты своих блогов люди часто устанавливают надежные пароли, такие как U7*KoF5i8_. Конечно, это хорошая вещь, но я слышал много историй о забытых паролей администратора.
Решение. Если вы потеряли ваш пароль, то WordPress может прислать по электронной почте ссылку что бы «сбросить его». Но если Вы больше не имеете доступа к адресу электронной почты, зарегистрированного в базе данных WordPress, или если вы предпочитаете вместо этого выполнить простые команды, вот решение.
- Войдите в свой PhpMyAdmin, выберите WordPress базы данных и откройте вкладку SQL.
- Вставьте следующую команду (предполагается, что ваше имя пользователя «Администратор»):
UPDATE `wp_users`
SET `user_pass` = MD5(‘PASSWORD’)
WHERE `wp_users`.`user_login` =`admin` LIMIT 1; - После того как вы запустите скрипт Ваш пароль будет успешно заменен на следующий: «PASSWORD».
Пояснение. Пароли пользователей хранятся в таблице wp_users. Для безопасность пароль закодирован. Мы должны создать «UPDATE» SQL-запрос и использовать встроенную MySQL функцию MD5() для преобразования вашего пароля в закодированный, а затем обновить его. «WHERE» условие гарантирует, что мы обновляем только пароль администратора, в противном случае обновяться все пароли!!
6. Изменяем домен для WordPress.
Проблема. Хотя это и не рекомендуется, вы можете в любой момент изменить имя домена, сохранив при этом свой блог, и его данные. Подобная проблема может возникнуть, например, при переносе блога с локальной машины на сервер. Поскольку доменное имя хранится в базе данных WordPress, вам придется изменить её, с тем чтобы подключить новое доменное имя для вашего блога.
Решение.
- Как вы уже могли догадаться, первое, что необходимо сделать это войти в свой PhpMyAdmin и выбрать вашу базу данных WordPress.
- Нажмите кнопку «SQL». Для того чтобы изменить свой WordPress URL выполните эту команду:
UPDATE wp_options
SET option_value = REPLACE(option_value, ‘http://www.oldsite.com’, ‘http://www.newsite.com’)
WHERE option_name = ‘home’ OR option_name = ‘siteurl’; - Затем, мы должны заменить относительные URL (GUID) каждого поста. Следующая команда сделает эту работу:
UPDATE wp_posts
SET guid = REPLACE(guid, ‘http://www.oldsite.com’,’http://www.newsite.com’); - Мы почти у цели. Последнюю вещь которую необходимо сделать это поиск и замена в wp_posts таблице, чтобы убедиться, что там нет абсолютных URL:
UPDATE wp_posts
SET post_content = REPLACE(post_content, ‘http://www.oldsite.com’, ‘http://www.newsite.com’); - Готово. Вы можете войти в свой WordPress блог, используя ваш новый URL.
Пояснение. Чтобы быстро изменить наше доменное имя, я воспользовался супер-полезной MySQL-функцией «replace», которая позволяет заменить одно выражение на другое.
7. Выводим на экран количество sql-запросов в Вашем блоге.
Проблема. Для оптимизации времени загрузки блога, необходимо знать количество запросов к базе данных. В целях сокращения количества запросов, прежде всего нужно знать сколько запросов на одной странице.
Решение.
- На этот раз, не нужно заходить в PhpMyAdmin. Просто откройте файл footer.php в вашей теме и добавьте следующие строки кода:
<?php if (is_user_logged_in()) { ?>
<?php echo get_num_queries(); ?> queries in <?php timer_stop(1); ?> seconds.
<?php } ?> - Сохраните файл и зайдите на ваш блог. Внизу страницы вы увидите число запросов, сделанных к базе WordPress, а также время затраченное на них.
Пояснение. Похоже, что многим пользователям WordPress не известно об этой полезной функции. Функция get_num_queries() возвращает количество выполненных запросов во время загрузки страницы. Заметьте, что код будет отображать количество запросов только залогиненным пользователям, но если вы хотите сделать его видимым всем, просто удалите это условие — if(is_user_logged_in()).
8. Восстанавливаем Вашу базу данных WordPress.
Проблема. Давайте представим, что по каким-то причинам, например, таких как взлом или неправильное обновление, вы потеряли данные своего блога или они повреждены. Если у вас есть резервная копия (а она должна быть!) Вы должны импортировать её в вашу базу данных.
Решение.
- Войдите в PhpMyAdmin и выберите вашу базу данных WordPress.
- Нажмите кнопку «Import» в горизонтальном меню.
- Нажмите кнопку «Browse» и выберите последнюю резервную копию базы данных на Вашем жестком диске.
- Нажмите кнопку «Execute». Если все прошло хорошо, ваша база данных полностью готова к работе.
8 Useful WordPress SQL Hacks
Если у Вас возникли вопросы, то для скорейшего получения ответа рекомендуем воспользоваться нашим форумом
WordPress. Как установить шаблон используя файл dump.sql
Из этого туториала Вы узнаете, как установить шаблон WordPress с Демо-контентом, используя файл dump.sql.
Во первых, ознакомьтесь с документацией, которая предоставляется для вашего шаблона. Откройте файлы вашего шаблона, скачанные с вашей страницы доставки шаблона, и найдите там папку Документация (Documentation).
Откройте файл Documentation (Installation and Editing).html и ознакомьтесь с инструкциями по установке в этом файле.
Обратите внимание: инструкции в документации шаблона могут отличаться от предложенных ниже. Это общие инструкции для всех шаблонов WordPress, а инструкции в файлах вашего шаблона – это инструкции именно для вашего шаблона.
Вы должны установить движок WordPress перед установкой шаблона. Если Вы это ещё не сделали, ознакомьтесь с этим туториалом. Установив WordPress, следуйте таким инструкциям:
Установка файла themexxx.zip. Есть два способа загрузить ваш файл:
Откройте вашу админ панель WordPress, перейдите на вкладку Внешний вид > Шаблоны > Добавить новый (Appearance > Themes > Add New). Здесь Вы увидите кнопку ‘Загрузить’, найдите папку themexxx.zip и установите её.
Загрузите папку с файлами в папку wp-content/themes и разархивируйте её там.
После того как Вы загрузили шаблон, активируйте его в админ панели во вкладке Внешний вид > Шаблоны > Активировать шаблон (Appearance > Themes > Activate theme).
Установка необходимых плагинов. Основные файлы шаблона успешно загружены, теперь нужно загрузить плагины. Есть 2 способа это сделать:
Перейдите на вкладку Админ панель WordPress > Плагины > Добавить новый > Загрузить (WordPress admin panel > Plugins > Add new > Upload), выберите плагин из папки sources/plugins и активируйте его. Загрузите все плагины один за другим.
При помощи FTP или Файлового менеджера. Загрузите заархивированные плагины в папку wp-conent/plugins и разархивируйте их в этой папке.
Установка Демо-контента. Теперь нужно загрузить изображения на ваш сайт. Загрузите папку Uploads из папки theme/manual в папку wp-content на сервере. Вы можете сделать это при помощи FTP или Файлового менеджера. Перезапишите существующую папку uploads на сервере.
Импорт файла dump.sql. Это последний шаг. Пожалуйста, откройте файл dump.sql, который находится в папке theme/manual файлов шаблона (как правило, он называется themexxx.sql) в любом редакторе кода (например, Notepad++ или Dreamweaver). Затем, используйте функцию поиска (сочетание клавиш CTRL + F), для того чтобы найти все упоминания your_website_url_here, и замените их на ссылку на ваш сайт. Нажмите на кнопку Заменить все (Replace all) и сохраните файл.
Теперь, перейдите в Панель управления хостингом и получите доступ к инструменту работы с базами данных PhpMyAdmin, для того чтобы импортировать изменённый файл ‘themeXXX.sql’ в базу данных WordPress. Выполнив вход в инструмент PhpMyAdmin, выберите вашу базу данных. Она должна выглядеть как на рисунке ниже. Вы можете также ознакомиться с туториалом, который покажет как загрузить файл SQL в базу данных.
Обратите внимание: Импорт файла SQL в вашу базу данных перезапишет существующее содержимое вашего сайта и настройки сайта. Не импортируйте файл SQL, если Вы хотите сохранить существующее содержимое! Всегда делайте резервную копию базы данных, перед тем как внести какие-либо изменения.
Нажмите на вкладку Импорт (Import), нажмите Обзор (Browse) и выберите изменённый вами файл themeXXX.sql. Нажмите на кнопку Ок (Go), после того как Вы это сделаете.
Откройте ваш сайт. Он должен выглядеть так же, как на Демо-версии шаблона.
Иногда, импорт файла SQL не работает из-за несовместимости префикса таблиц. Вы можете также ознакомиться с пошаговым туториалом, который покажет, как изменить префикс таблиц.
Вы можете также ознакомиться с детальным видео-туториалом ниже:
WordPress. Как установить шаблон используя файл dump.sqlОтладка SQL запросов в WordPress с помощью Query Monitor
При работе с такими API как WP_Query, Options, Metadata или с базой данных напрямую через объект $wpdb
, важно помнить, что каждый SQL запрос влияет на время загрузки сайта. Плагин Query Monitor покажет вам все запросы в базу данных на текущей странице, их источник, время выполнения и многое другое.
Плагин Query Monitor
После установки плагина Query Monitor в верхней панели WordPress появится новое меню, которое сразу отображает время генерации страницы, пиковое потребление памяти, время потраченное на все SQL запросы и количество запросов в базу данных MySQL на текущей странице.
Подобная информация поможет сразу понять насколько тяжелой является текущая страница для сервера. Для сравнения, свежая установка WordPress потребляет порядка 18 мб памяти, около 20 SQL запросов за 3 миллисекунды и в среднем 250 миллисекунд для генерации главной страницы.
При переходе в раздел Queries можно увидеть список всех SQL запросов в базу данных, их источник, компонент, количество найденых строк и время исполнения каждого запроса. Список легко отфильтровать по значениям Caller и Component.
Список SQL-запросов
Если вы заметили что какой-то из запросов в вашем коде занимает слишком много времени, или вызывается слишком часто, то возможно стоит оптимизировать функцию, которая его вызывает или же сам запрос. Начинать оптимизацию SQL запросов мы советуем с функции EXPLAIN
в вашей консоли MySQL или phpMyAdmin.
Кроме SQL-запросов в плагине Query Monitor есть разделы с условными тегами, с параметрами запроса WP_Query
, со списком всех событий и фильтров на текущей странице и многое другое. Одной из самых интересных функций данного плагина является возможность установить специальный Cookie, который позволит просматривать информацию от имени любого пользователя или анонимно.
Плагин Query Monitor является бесплатным, распространяется под лицензией GPL и доступен в официальной директории плагинов на сайте WordPress.org. Если вы ищите альтернативы или другие инструменты для отладки в WordPress, не забудьте попробовать плагин Debug Bar.
Что такое MySQL? Как WordPress использует MySQL?
MySQL — это система управления базами данных, которая используется WordPress для хранения и извлечения всей информации вашего блога. Подумайте об этом так. Если ваша база данных представляет собой картотечный шкаф, который WordPress использует для организации и хранения всех важных данных с вашего веб-сайта (сообщений, страниц, изображений и т. Д.), То MySQL — это компания, которая создала этот особый тип картотеки.
MySQL — это система управления реляционными базами данных с открытым исходным кодом. Он работает как сервер и позволяет нескольким пользователям управлять и создавать многочисленные базы данных.Это центральный компонент в стеке LAMP программного обеспечения веб-приложений с открытым исходным кодом, который используется для создания веб-сайтов. LAMP означает Linux, Apache, MySQL и PHP. В большинстве установок WordPress используется стек LAMP, поскольку он имеет открытый исходный код и без проблем работает с WordPress.
WordPress требует, чтобы MySQL сохранял и извлекал все свои данные, включая контент сообщений, профили пользователей и настраиваемые типы сообщений. Большинство провайдеров веб-хостинга уже установили MySQL на своих веб-серверах, поскольку он широко используется во многих веб-приложениях с открытым исходным кодом, таких как WordPress.
WordPress использует язык программирования PHP для хранения и извлечения данных из базы данных MySQL. Чтобы получить данные из базы данных, WordPress запускает SQL-запросы для динамической генерации контента. SQL расшифровывается как язык структурированных запросов и является языком программирования, обычно используемым для запросов к базам данных.
Для пользователей, которым неудобно писать собственные сценарии PHP и SQL, большинство провайдеров веб-хостинга предлагают простые в использовании веб-приложения для управления базами данных. Одним из таких веб-приложений является phpMyAdmin, которое позволяет пользователям управлять своей базой данных с помощью графического веб-интерфейса.Вы можете управлять своими таблицами визуально, пока phpMyAdmin выполняет за вас SQL-запросы.
«Из коробки» MySQL не имеет графического интерфейса, и пользователи продвинутого уровня могут предпочесть управлять своими базами данных из командной строки.
Дополнительная литература
Использование MySQL с WordPress | Двигатель WP
Опубликовано в WordPress от WP Engine
Последнее обновление 14 октября 2019 г.
Если вы управляете сайтом WordPress, возможно, вы захотели узнать больше о том, как работает его база данных.Полезно понимать, как работает ваш сайт за кулисами, и могут даже быть случаи, когда вам потребуется напрямую получить доступ к базе данных вашего сайта.
Вот где приходит MySQL. Язык структурированных запросов (SQL) — это система управления базами данных WordPress. Позже мы рассмотрим подробнее, но достаточно сказать, что база данных — это мозг вашего веб-сайта, а MySQL — это нервная система, отправляющая команды туда и обратно для получения информации и выполнения операций.
В этой статье мы подробно объясним, как MySQL работает по отношению к WordPress.Кроме того, мы рассмотрим несколько ошибок базы данных, с которыми вы можете столкнуться, и объясним, как их исправить. Давайте нырнем!
Разъяснение MySQL
Возможно, вы слышали о базе данных, которую раньше описывали как картотеку, место, где вся важная информация вашего сайта хранится в разделенных по категориям слотах. По этой аналогии отдельные папки в шкафу являются таблицами базы данных, в которых хранится информация.
Что касается MySQL, то это то, как выполняются запросы для размещения или удаления данных в этих папках.Вы также можете использовать MySQL для установки правил того, что разрешено размещать в каждой части картотеки.
ОднакоMySQL не может работать в одиночку. Это часть набора программных приложений, используемых для создания веб-сайтов. Другие компоненты включают Linux, Apache, MySQL и PHP (LAMP). Вместе они образуют «команду мечты» в мире программирования с открытым исходным кодом.
Использование MySQL для WordPress
Когда дело доходит до WordPress, язык сценариев PHP используется для отправки и получения информации из вашей базы данных MySQL.Эти два элемента обрабатывают все, от входа в систему пользователей сайта до хранения информации о темах и плагинах для отображения динамического контента.
MySQL использует структуры таблиц для хранения данных. Большинство веб-хостов поставляются с программным обеспечением пользовательского интерфейса MySQL под названием phpMyAdmin. Это бесплатное программное обеспечение с открытым исходным кодом упрощает выполнение команд базы данных. Он позволяет редактировать, удалять или создавать таблицы, строки и поля:
Во время стандартной установки WordPress в вашей базе данных создается 12 таблиц.Вы можете увидеть их в списке слева на изображении выше. Эти таблицы включают ключевую информацию, необходимую для работы вашего сайта.
Например, таблица wp_options хранит параметры, к которым вы можете получить доступ и которыми вы можете управлять из меню Настройки на панели инструментов WordPress. Это также место для различных настроек, связанных с виджетами.
Как вы можете видеть на панели phpMyAdmin, информация обо всех данных, содержащихся в любой таблице, будет видна, когда вы нажмете на ее имя.Сюда входят любые значения или параметры, связанные с конкретными полями.
Плагины / расширения MySQL
Хотя плагинов, которые напрямую улучшают функциональность MySQL в WordPress, не так много, есть несколько инструментов, на которые стоит обратить внимание, если вы планируете часто вручную изменять или изменять свою базу данных.
Например, WP phpMyAdmin — полезный плагин, если вы хотите иметь доступ к панели phpMyAdmin вашего сайта из панели управления WordPress, а не через панель управления вашего веб-хостинга:
Это простое, но популярное решение, обеспечивающее удобный доступ к вашей базе данных.Это также может немного упростить устранение ошибок, связанных с MySQL, как мы увидим ниже.
Распространенные ошибки MySQL в WordPress (и способы их решения)
Ошибки базы данных могут случиться с кем угодно, но исправление может быть неприятным. Чтобы упростить вашу жизнь, это помогает понять наиболее распространенные проблемы, которые могут возникнуть, а также возможные решения каждой из них. Давайте рассмотрим пять примеров типичных проблем MySQL.
1. Ошибка при установлении соединения с базой данных
Если вы столкнулись с сообщением типа «Ошибка установления соединения с базой данных» при попытке доступа к вашему сайту, это, вероятно, означает, что ваш URL-адрес указывает на неправильную базу данных или ваш сайт обнаруживает ошибку соединения.
Ошибка подключения к базе данных означает, что вы не сможете получить доступ к своему веб-сайту. Скорее всего, вам также не удастся войти в свою панель администрирования. В этом сценарии, скорее всего, виноват ваш файл wp-config.php .
Первый способ решить эту проблему — получить доступ к учетной записи хостинга вашего сайта и восстановить последнюю резервную копию. Это приведет к сбросу вашего файла wp-config.php , что даст вам доступ к вашей панели администрирования. Однако, если нет возможности получить доступ к резервной копии вашего сайта, есть другое решение.
Вы также можете редактировать файл wp-config.php с помощью приложения Secure File Transfer Protocol (SFTP), такого как FileZilla. Как только вы подключитесь к своему веб-сайту, ваш файл wp-config.php можно будет найти в корневом каталоге файлов вашего сайта:
Если вы откроете файл, вы увидите всю информацию о вашей базе данных вверху. Затем вы можете проверить, нет ли ошибки в имени вашей базы данных, имени пользователя или любой другой информации о вашем сайте.
Возможно, вам потребуется связаться с вашим хостом, если вы не уверены, что должна включать эта информация.В основном вы будете озабочены проверкой правильности значений «DB_USER», «DB_PASSWORD» и «DB_HOST». После внесения необходимых исправлений обязательно сохраните изменения и загрузите файл обратно на сервер своего сайта.
2. Ошибка № 1005
Ошибка # 1005 — это проблема на стороне сервера, а не проблема с вашим сайтом. Это происходит, когда не удалось создать необходимую таблицу. В зависимости от деталей строки сообщения вы можете получить дополнительную информацию о причине ошибки.
Например, ваше сообщение об ошибке может выглядеть так:
Невозможно создать таблицу "% s" (ошибка:% d)
Наиболее частой ошибкой для этой конкретной проблемы является «(errno: 150)». Это означает, что существует проблема ограничения внешнего ключа. Другими словами, вполне вероятно, что таблица, которую вы пытаетесь создать, конфликтует с заданным ограничением. Ошибка предотвращает возникновение несоответствий в данных между несколькими таблицами.
Чтобы исправить ошибку ограничения внешнего ключа, вам нужно будет немного исследовать и проверить таблицы базы данных на несоответствия.Это означает, что вам нужно:
- Убедитесь, что все задействованные таблицы ссылаются на один и тот же механизм базы данных.
- Убедитесь, что все индексируемые поля имеют одинаковый тип или длину.
Эта ошибка обычно связана с несоответствиями и требует времени и терпения для исправления.
3. Ошибка № 1213
Эта следующая ошибка обычно появляется вместе с символом «ER_LOCK_DEADLOCK». Вы также должны получить сообщение следующего вида: «Обнаружена тупиковая ситуация при попытке получить блокировку; попробуйте перезапустить транзакцию ».К счастью, эта ошибка сопровождается инструкциями, которые можно использовать для ее быстрого решения.
Когда вы выполняете транзакцию, которая заходит в тупик, ваша транзакция останавливается и откатывается. Это происходит из-за команды SQL, которая останавливает транзакцию и отменяет все внесенные в нее изменения. Вы можете думать об этом как об автоматической функции «отмены», которая позволяет вашему приложению останавливаться и предпринимать корректирующие действия.
В этом случае вам просто нужно будет снова запустить транзакцию. Откат снимет блокировки, которые вызвали взаимоблокировку, и теперь транзакция должна завершиться успешно.
4. Ошибка № 1064
Если вы получите ошибку # 1064, вы также увидите отображение символа с надписью «ER_PARSE_ERROR». Это означает, что у вас есть ошибка в синтаксисе. Это могло произойти из-за опечатки или использования устаревшей команды.
Вы также должны получить сообщение с полезной информацией, например:
% s рядом с "% s" на строке% d
Это направит вас к приблизительной строке в вашем запросе, на которую вы можете ссылаться, чтобы найти и исправить синтаксическую ошибку.В Интернете также доступны некоторые инструменты, которые помогут вам найти ошибки в особенно длинных запросах.
5. Ошибка № 2003
Наконец, возникает ошибка # 2003, когда вы не можете подключиться к серверу MySQL. Символ ошибки указывает на проблему с подключением к хосту:
CR_CONN_HOST_ERROR
Другими словами, это сообщение об ошибке сообщает, что в вашем сетевом подключении отказано. Первым шагом в устранении проблемы будет определение того, работает ли сервер MySQL.Затем вы должны убедиться, что указанное вами сетевое соединение и порты совпадают с настроенными на сервере.
Вы можете сделать это через панель phpMyAdmin, перейдя в Status> Monitor и просмотрев активность на вашем сервере на предмет проблем. Если ваш сервер не работает, вам также необходимо выполнить действия по его перезапуску.
Если ваш процесс mysqld работает , вам необходимо иметь более глубокие знания о подключении сервера к сети, чтобы вы могли начать работу с возможными сбоями в вашем подключении.
Повысьте уровень своих знаний с WP Engine
Хотя не все будут регулярно проводить время с сервером MySQL своего сайта, полезно понимать, куда обращаться за помощью, если вы столкнулись с ошибкой. Вот почему полезно знать, где найти лучшие советы и ресурсы для разработчиков в Интернете.
Чтобы помочь вам поддерживать бесперебойную работу вашего сайта, мы предлагаем различные решения и инструменты для хостинга. Сюда входит журнал ошибок WP Engine, который поможет вам предоставить вашим посетителям лучший цифровой опыт!
PHPMyAdmin и MySQL — Поддержка — WordPress.com
Доступ к PHPMyAdmin и MySQL доступен администраторам в тарифных планах WordPress.com Business и eCommerce.
Перед началом
Для работы вашего сайта доступ к базе данных не требуется. Не трогайте базу данных своего сайта, если у вас нет особой причины. Если вы не уверены, обратитесь за помощью к специалисту по счастью, прежде чем обращаться к базе данных.
Никогда не запускайте команду, если вы точно не знаете, что она будет делать.
Если вы не понимаете, что делает команда, не запускайте ее. Запуск неизвестных команд без их понимания может привести к поломке вашего сайта, а также может привести к потере данных.
Возможно, вы встречали статьи, в которых предлагается изменить базу данных для улучшения различных аспектов вашего сайта. Здесь, на WordPress.com, мы уже предприняли шаги для оптимизации вашего сайта, и вам не нужно ничего делать напрямую с вашей базой данных.
Мы рады помочь вам определить, нужен ли вам доступ к базе данных, и помочь восстановить ваш сайт в случае возникновения аварий, однако WordPress.com Инженеры счастья здесь не для того, чтобы помочь вам с созданием, изменением или запуском команд базы данных.
Доступ к базе данных
Каждый сайт предварительно настроен с одной (1) базой данных для использования с этим сайтом. WordPress.com не поддерживает создание дополнительных баз данных, подключение одного сайта к другой базе данных или внешний доступ к любой базе данных сайта.
Чтобы найти информацию о базе данных, нажмите Мои сайты → Настройки → Конфигурация хостинга .
Вы также можете использовать https://wordpress.com/hosting-config для доступа к этому разделу.
Оказавшись там, нажмите кнопку «Открыть phpMyAdmin», чтобы начать работу.
Откроется новая вкладка, и вам будет предложено щелкнуть ссылку, чтобы перейти к базе данных.
После этого загрузочного экрана вы увидите что-то под названием phpMyAdmin; это инструмент, используемый для доступа к базе данных вашего сайта и выполнения команд для взаимодействия с ней.
Что делать, если что-то пойдет не так?
Если что-то случится с вашим сайтом после того, как вы внесли изменения в свою базу данных, мы будем рады помочь вам восстановить ваш сайт из резервной копии Rewind.
Если вы запустите команду, и произойдет что-то, чего вы не ожидали, мы будем рады помочь вам восстановить ваш сайт до состояния, которое было до того, как вы запустили команду. Но мы не сможем помочь вам отладить вашу команду, чтобы она работала должным образом. Вы можете перемотать свой сайт назад из журнала активности.
Часто задаваемые вопросы
Могу ли я загружать файлы .sql? Какой максимальный размер файла?
Да, вы можете импортировать файлы базы данных. Помните, что размер базы данных учитывается при ограничении вашего хранилища в 200 ГБ.
Могу ли я изменить ограничения на размер файла и максимальное время выполнения?
Нет, это устанавливается на стороне сервера и не может быть изменено. Вы можете просмотреть подробные сведения о нашей среде здесь.
Предоставляете ли вы поддержку пользовательских SQL-запросов, которые я хочу запустить в phpMyAdmin?
Нет, мы не оказываем поддержку по созданию, изменению, запуску или отладке команд. Не запускайте команду, если не знаете, что она будет делать.
Если на моем сайте несколько пользователей, могу ли я узнать, кто что сделал?
Доступ к базе данных появится в журнале активности в виде записи.Однако мы не можем отслеживать, что кто-то делает, когда обращается к вашей базе данных.
Как мне экспортировать мою базу данных?
Если вам нужна копия вашей базы данных, мы рекомендуем загрузить копию из журнала активности.
ProjectNami / projectnami: WordPress на базе Microsoft SQL Server
Версия:
2.7.2
Описание:
В своем нынешнем виде Project Nami — это в основном WordPress, работающий на Microsoft SQL Server. Поддерживаются все основные функции и возможности WordPress.
Почему был создан Проект Нами?
Короткий ответ: WordPress не работает с SQL Server . Это печальная история, но правдивая. Вы можете быть настолько счастливы, что у вас больше нет вопросов по этому поводу. Если да, то отлично. Продолжайте наслаждаться Project Nami. Однако вы можете спросить себя, почему бы просто не использовать какой-то плагин абстракции базы данных или просто написать свой собственный (или использовать кого-то еще) wp-db.php
drop-in. В конце концов, WordPress уже поддерживает замену класса базы данных на собственный.
Хотя я согласен со всем этим, написания (или использования) настраиваемого подключаемого модуля wp-db.php
недостаточно для запуска WordPress на SQL Server. На самом деле WP Core завален запросами, специфичными для MySQL, а это значит, что настраиваемый класс db не будет охватывать все ваши базы. WP останется сломанным и непригодным для использования.
Итак, как насчет использования только плагина перевода? Это может сработать, но вряд ли оптимально.Каждый поступающий запрос перед выполнением необходимо проанализировать и преобразовать в синтаксис в стиле SQL Server. Ура!
Нам нужна была версия WordPress на базе SQL Server в облаке в Microsoft Azure. Итак, мы переписали WP Core именно так. Перенос WordPress может показаться чрезмерным, но программное обеспечение просто не до такой степени, когда возможна настоящая абстракция базы данных. Может, когда-нибудь так и будет. А пока альтернативой является Project Nami. 🙂
Несколько замечаний:
См. Наш пост о совместимости плагинов для получения дополнительной информации http: // projectnami.org / совместимость с плагинами /
Project Nami требует SQL Server 2012 или более поздней версии для правильной работы. До выпуска этой версии на самом деле не существовало собственного метода SQL Server для обработки MySQL
LIMIT
при использовании смещения. Однако теперьOFFSET FETCH
может использоваться вместе сORDER BY
для достижения эквивалента MySQLLIMIT
со смещением.Совместимость с SQL Server 2017 на платформах Linux
Спасибо за ваш интерес к поддержке нашей работы!
Project Nami — это проект с открытым исходным кодом, созданный на основе WordPress и свободно доступный по лицензии GPL.Ваш вклад помогает поддерживать нашу команду и ее расходы, поскольку они продолжают поддерживать, поддерживать и расширять проект.
ТЕКУЩИЕ ПОСТАВИТЕЛИ
ДРУЗЬЯ
Вагнер Абилио Хулио Мораес
Как экспортировать базу данных WordPress — 2 лучших метода
Если у вас есть веб-сайт WordPress, есть вероятность, что в какой-то момент вы захотите переместить этот сайт в другое место. Такой шаг включает в себя экспорт и импорт базы данных веб-сайта, что может быть довольно сложным процессом, подверженным ошибкам.Это может привести к серьезным последствиям, например к поломке веб-сайтов. В этой статье мы расскажем, как самостоятельно экспортировать базу данных WordPress, не нарушая работу вашего веб-сайта.
TL; DRЭто руководство об экспорте базы данных WordPress с вашего предыдущего хоста. Если вы пытаетесь перенести свой веб-сайт на новый домен или у нового хостинг-провайдера, вам следует воспользоваться нашей службой миграции WordPress.
Что такое база данных WordPress?Веб-сайт WordPress содержит данные.Сообщения, комментарии, настройки и пользователи — это данные, хранящиеся в базах данных WordPress. Его можно охарактеризовать как хранилище, где вы можете систематизировать и хранить свою информацию. Без базы данных ваш веб-сайт будет отображаться как пустая страница. Или он может выдать сообщение об ошибке «Ошибка при установлении соединения с базой данных». При выполнении экспорта базы данных рекомендуется действовать осторожно.
Как безопасно экспортировать базу данных WordPress?Вы можете экспортировать свою базу данных вручную или с помощью плагина.Использование плагина экспорта WordPress — более безопасный вариант. Но, тем не менее, мы рассмотрим оба метода.
Метод 1. Экспорт базы данных WordPress с помощью подключаемого модуля
Существует множество плагинов WordPress, которые позволят вам экспортировать базу данных. Но мы выбрали следующие 5, потому что они просты в использовании —
- BlogVault
- WP Резервное копирование базы данных
- Пульт дистанционного управления WP
- Миграция на WP All-in-One
- Импорт и экспорт пользователей WordPress (для экспорта только пользователей)
Установите и активируйте плагин WordPress. BlogVault немедленно создаст резервную копию вашего веб-сайта, включая резервную копию базы данных . BlogVault уведомит вас о завершении процесса резервного копирования. После чего можно переходить к экспорту базы данных.
На панели управления BlogVault есть раздел под названием Резервные копии . Щелкните Резервные копии.
Резервные копии BlogVault
На следующей странице вы увидите 5 вариантов вверху страницы.Выберите четвертый, который поможет вам Загрузить резервные копии . Не волнуйся. Вам не нужно загружать всю резервную копию. BlogVault дает вам возможность загрузить базу данных только на следующей странице.
Выберите Загрузить резервную копию
Теперь вы должны увидеть опцию Выборочная загрузка . В нем у вас будет возможность загрузить только базу данных .
Выборочная загрузка> База данных
Вот и все.Вы скачали базу данных на свой локальный компьютер.
2. Резервное копирование базы данных WPЭто плагин для резервного копирования базы данных WordPress. Установите и активируйте в своем блоге WordPress. После установки перейдите в Инструменты > WP-DB Backup , чтобы получить доступ к плагину . Вам будет предложено сделать резервную копию базы данных, выбрав Создать новую резервную копию базы данных . Идите вперед и нажмите на кнопку.
Когда файлы резервных копий будут готовы, просто выберите Загрузить , чтобы экспортировать базу данных на свой компьютер.
3. Пульт WPWP Remote — это плагин для управления веб-сайтом. Это позволяет вам экспортировать копию вашей базы данных на ваш компьютер. Создайте учетную запись, добавьте свой веб-сайт в WP Remote, а затем активируйте плагин. На панели управления WP Remote выберите Загрузить базу данных. Он экспортирует базу данных в вашу локальную систему.
4. Миграция WP All-in-OneС помощью инструмента WP Migrate вы можете экспортировать тему и плагин WordPress, загрузку мультимедиа, а также базу данных.
Установите и активируйте плагин на своем веб-сайте. На панели управления перейдите к All-in-One WP Migration и выберите Export . Вместо того, чтобы делать выбор по умолчанию для экспорта веб-сайта WordPress в целом, выберите только базу данных. Просто выберите все параметры Advance , кроме базы данных. Затем перейдите к Expand To и выберите File , и все готово.
5. Импорт и экспорт пользователей WordPressРазработанный для веб-сайтов WooCommerce, плагин помогает экспортировать и импортировать пользовательские данные.Это один из лучших вариантов плагинов WooCommerce.
Установите и активируйте плагин на своем веб-сайте. Это добавит функциональности вашему сайту, позволяя экспортировать пользовательские базы данных. На панели управления WordPress перейдите к Users> User Import Export> User / Customer Export . Плагин также дает вам возможность выбрать, какие роли пользователей WordPress вы хотите экспортировать.
Предполагая, что вы переносите пользователей на другой сайт WooCommerce, вы можете легко импортировать пользователей WordPress с помощью того же плагина.Просто установите плагин Import and Export User на свой новый веб-сайт. И когда вы будете готовы, перейдите в Инструменты > Пользователи> Импорт пользователя, экспорт> Импорт пользователя / клиента . Вот и все.
Процесс экспорта базы данных с помощью плагина прост. Но если вы предпочитаете делать это вручную, перейдите к следующему разделу.
Экспорт базы данных WordPress — непростая задача для многих людей. Но с правильным руководством вы не ошибетесь. Нажмите, чтобы твитнутьМетод 2: Экспорт базы данных WordPress вручную
Прежде чем начать… сделайте резервную копию
Сделайте новую резервную копию своего веб-сайта .Метод экспорта вручную предполагает выполнение рискованных действий. Если вы сделаете ошибку, резервная копия поможет вам восстановить ваш сайт в нормальном состоянии.
1. Экспорт базы данных в FlyWheelХостинг-провайдеры позволяют экспортировать вашу базу данных. Но процесс отличается от веб-хостинга к веб-хосту. Например, в FlyWheel вам необходимо авторизоваться. Затем перейдите к Advanced> Database> Manage Database> Export .
Экспорт базы данных из FlyWheel
2.Экспорт базы данных в BluehostВ Bluehost, процесс немного другой. Чтобы получить доступ к своей базе данных, вам необходимо войти в свою учетную запись хостинга. Затем перейдите к phpMyadmin , чтобы найти опцию Export .
В phpMyAdmin выберите Export
После того, как вы выберете «Экспорт», появятся две опции — Quick & Custom (см. Изображение ниже) .
Чтобы экспортировать всю базу данных, выберите «Быстро».Но если вы хотите экспортировать только определенные таблицы, то лучше выбрать вариант «Пользовательский экспорт».
В зависимости от размера вашего веб-сайта экспорт базы данных займет несколько минут.
В зависимости от ваших потребностей выберите один вариант
Как и Bluehost, большинство хостинг-провайдеров WordPress позволяют пользователям экспортировать базу данных из phpMyadmin. Вы можете выполнить быстрый поиск в Google, чтобы узнать, как ваши хостинг-провайдеры позволяют вам загружать базу данных WordPress.
Примечание: Ваша база данных содержит важную информацию, которую необходимо защитить от повреждения.Мы предлагаем безопасно хранить базу данных в облачных сервисах, таких как Google Диск или Dropbox, вместо того, чтобы хранить ее на своем компьютере.
Кроме того, вы можете ознакомиться с нашим руководством по резервному копированию WordPress на Google Диск, а также по резервному копированию WordPress на Dropbox.
ЗаключениеМы начали статью с того, что указали, как вам может потребоваться переместить ваш веб-сайт в другое место, для которого вам нужно экспортировать базу данных. Экспорт вашей базы данных — довольно простой процесс.Но если вы пытаетесь переместить свой веб-сайт в новое место, вы можете столкнуться с некоторыми проблемами, например:
- Неподдерживаемые веб-хосты
- Время простоя для крупных сайтов
- Неполные миграции
Если вы являетесь клиентом BlogVault, вам, скорее всего, никогда не придется об этом беспокоиться. Мы поддерживаем более 5000 хостинговых услуг и обещаем нулевое время простоя, потому что мы делаем минимальную нагрузку на ваш сайт, поэтому нет риска его сбоя. Мы выполняем полный перенос, поэтому вам не нужно беспокоиться о неработающих ссылках или пропавших страницах.Кроме того, экспорт базы данных с помощью BlogVault прост и удобен.
Попробуйте BlogVault Миграция WordPress
Поиск SQL-инъекций (SQLis) и подделок межсайтовых запросов (CSRF) в подключаемых модулях WordPress | Алекс Пенья | Tenable TechBlog
CSRF-атаки нацелены на уязвимые веб-сайты путем повторного использования файлов cookie, хранящихся в браузере законного вошедшего в систему пользователя, для выдачи себя за его личность и выполнения некоторых вредоносных действий без его ведома.
Приведенный выше код JavaScript требует, чтобы администратор на уязвимом сервере WordPress посетил вредоносную веб-страницу. После загрузки сценария в браузер пользователя он отправляет созданный запрос на сервер WordPress, повторно используя файлы cookie сеанса жертвы, чтобы использовать уязвимость SQLi в функции es_newsletter_settings_callback . Эксплойт создает сценарий PHP в каталоге htdocs . Затем он отправляет запрос GET во вновь созданный файл PHP и передает команду через параметр cmd для выполнения на целевом хосте.
Даже несмотря на то, что CSRF успешно создал файл на затронутом хосте с помощью SQLi, этот же подход нельзя использовать для использования уязвимости раскрытия информации, описанной ранее. Это связано с механизмом совместного использования ресурсов между источниками (CORS), используемым в современных веб-браузерах, который блокирует данные ответа на запросы из разных источников.
Отметив возможность инициировать вызовы функций на сервере WordPress через CSRF, мне стало любопытно, могу ли я найти какие-либо другие интересные функции для использования через CSRF.Поскольку механизм CORS не позволял мне читать ответы, я искал действия, которые мог бы выполнить, не зависящие от ответов на запросы.
Осмотрев пользовательский интерфейс плагина, я обнаружил интересную функцию в меню настроек для отправки тестовых писем. Доступ к этой функции можно получить с помощью запроса Ajax, как показано ниже.
Комментарий в функции __construct сообщает нам, что пользователю необходимо иметь настроек и разрешений для кампаний для отправки тестового электронного письма.В функции send_test_email мы видим, что получатель электронной почты, тема и контент могут быть установлены с помощью запроса.
Как перенести сайт WordPress — Импорт / экспорт базы данных WordPress
Сводка
В этой статье объясняется, как перенести ваш сайт WordPress без использования Marketplace.
Перенести файлы
- Подключитесь к своей текущей учетной записи хостинга с помощью FTP.
Примечание: Если вы не знаете, как подключиться с помощью FTP, прочтите нашу статью Filezilla, в которой объясняется, как настроить Filezilla, популярную программу FTP. - Найдите каталог, в котором находятся файлы вашего сайта WordPress. Это может быть ваш public_html или подпапка внутри public_html.
Примечание: Обычно вам потребуются все файлы и папки, начинающиеся с «wp-». - Используя FTP-клиент, загрузите этих файлов на свой компьютер.
- Теперь вам нужно загрузить эти файлы в новую учетную запись хостинга. Вы можете использовать FTP для загрузки этих файлов.
- Перейдите в папку public_html или подпапку, в которую вы хотите установить WordPress.
- Загрузите файлы со своего компьютера в это новое место.
Статья по теме: FTP для начинающих
Экспорт базы данных WordPress
- В текущей учетной записи хостинга откройте файл wp-config.php . В этом файле находится имя базы данных, которую нужно экспортировать.
- Большинство учетных записей хостинга на основе cPanel должны предоставлять копию PHPMyAdmin для доступа к вашей базе данных. Вы можете использовать это для экспорта базы данных в виде файла.sql файл.
Примечание : Если у вас нет доступа к PHPMyAdmin, вы можете использовать подключаемый модуль для экспорта резервной копии базы данных. Если вы не знаете, где получить доступ к файлу wp-config.php, ознакомьтесь с этой статьей «Как найти свою базу данных WordPress».
Создать новую базу данных
Теперь вы собираетесь создать новую базу данных для установки WordPress.
- В cPanel: перейдите в категорию «База данных» и щелкните « Базы данных MySQL».
- Создайте новую базу данных, введя для нее имя. Это будет что-то вроде username_wp1, где wp1 — это имя, присвоенное базе данных.
- Теперь создайте пользователя для базы данных. Вы предоставите пароль для пользователя, который важно запомнить на более позднем этапе настройки WordPress.
- После того, как вы создали пользователя, вам нужно будет назначить его базе данных. Когда вы это сделаете, предоставьте пользователю Все привилегии. (Пошаговое руководство о том, как это сделать, см. В разделе: Как создавать и удалять базы данных MySQL и пользователей.)
Импорт в новую базу данных
Теперь, когда у вас создана база данных, вы импортируете в нее загруженный файл .sql.
- В cPanel: перейдите в категорию базы данных и щелкните PHPMyAdmin.
- Выберите новую базу данных в левой части страницы.
- В верхней части экрана щелкните вкладку Импорт .
- Нажмите кнопку Обзор и найдите файл на своем компьютере.
- После выбора файла щелкните Перейти , чтобы начать импорт.
Обновите файл конфигурации WordPress
Теперь вам нужно убедиться, что ваша установка WordPress подключена к правильной базе данных. Для этого
- Откройте диспетчер файлов и отредактируйте файл wp-config.php.
- Вам нужно будет ввести информацию о новой базе данных: имя базы данных, пользователя базы данных и пароль.
- После обновления нажмите Сохранить изменения .
Исправление постоянных ссылок
- Войдите в свою панель управления WordPress , используя имя пользователя и пароль из копии WordPress, которую вы принесли.
- В разделе Настройки щелкните Постоянные ссылки.
- Фактических изменений вносить не нужно; нажмите кнопку Сохранить изменения .
Просмотр вашего сайта
После того, как вы выполнили эти шаги, просмотрите сайт вашего браузера, чтобы убедиться, что все выглядит правильно и правильно работает.