База данных WordPress: создание, структура, оптимизация. Где хранится база данных wordpress
База данных WordPress в подробностях
WordPress, как и большинство других современных систем управления контентом, активно использует базу данных. Вся информация хранится в ней – настройки блога, записи, комментарии, ссылки, информация о пользователях и т.д. Поэтому необходимо понимать, как база организована, какие типы данных в ней хранятся, и как разные вещи взаимодействуют друг с другом.
Перед тем, как мы займёмся детальным изучением структуры базы, я хочу обратить Ваше внимание на три следующих момента:
- WordPress API предоставляет некоторые возможности для управления данными без прямого обращения к базе. Поэтому, с технической стороны, Вам не нужно знать, как база данных организована. Но если Вы имеете об этом представление, возможно, Вы найдёте решения, которые будут более быстрыми и эффективными для достижения поставленной цели.
- Структура базы данных WordPress проста и удобна. Бояться нечего. Она состоит всего из 10 таблиц с несколькими полями в каждой. После беглого ознакомления структура останется в Вашей памяти.
- Структура базы данных WordPress хорошо документирована.
wp_posts
WordPress используется в основном как система управления контентом (CMS). Поэтому, на мой взгляд, таблица с контентом имеет основное значение. Страницы, записи, аттачменты, все это – контент, всё это WordPress хранит в одной таблице – wp_posts.
В действительности аттачменты хранятся как есть – в виде файлов на диске, но WordPress использует таблицу wp_posts для хранения мета-информации об аттачментах (например ID пользователя, который его загрузил, ID записи, которая ссылается на аттачмент, время загрузки и т.п.).
Страницы, записи и аттачменты могут быть очень похожи друг на друга, а могут сильно отличаться. Сначала мы рассмотрим, что общего между ними. Все три вида контента имеют уникальный идентификатор – ID (обычно создаётся автоматически WordPress’ом или MySQL), автора (человек, который написал запись или загрузил файл), дату, название (заголовок), и описание (даже если это поле пустое, его можно будет заполнить позже). Все три вида имеют URL. Итак, для каждой записи, страницы или аттачмента имеется запись в таблице wp_posts.
Теперь поговорим о различиях между ними. Чтобы отличить один тип контента от другого, в таблице wp_posts существует поле post_type. Для записей его значение – ‘post’, для страниц – ‘page’, для аттачментов – ‘attachment’.
Сущещствует некоторое количество специальных полей. Например, поле post_mime_type используется для хранения типа файла аттачмента (‘image/jpeg’ и ‘application/pdf’). Поле menu_order содержит порядковый номер отображения страницы в списке. Поле post_parent используется для организации страниц с «подстраницами», а так же для хранения информации о связи аттачмента с записью.
Для того, чтобы понять, как и когда используется то или иное поле, запустите следующие запросы (для каждого типа контента):
* SELECT * FROM wp_posts WHERE post_type = ‘post’ LIMIT 1* SELECT * FROM wp_posts WHERE post_type = ‘page’ LIMIT 1* SELECT * FROM wp_posts WHERE post_type = ‘attachment’ LIMIT 1
В этой же таблице находится информация о состоянии записи/страницы. В большинстве случаев Вы увидите ‘publish’ для опубликованных записей, ‘draft’ для черновиков, и ‘inherit’ для аттачментов. С остальными состояниями Вы без проблем разберетесь сами.
Вот несколько примеров того, как может быть использована таблица wp_posts:
* Получение статистики – сколько записей вы всего написали, сколько записей написал тот или иной автор, какое количество записей публикуется в среднем за день и т.д.* Создать список всех аттачментов.* Создать галерею картинок для каждой записи (hint: «WHERE post_type = ‘attachment’ AND (post_mime_type = ‘image/jpeg’ OR post_mime_type = ‘image/gif’ OR post_mime_type = ‘image/png’)»).
wp_postmeta
Существует миллион вещей, которые Вы, возможно, захотите проассоциировать со своей записью: Ваше настроение, название песни, которую Вы слушали, географическое местоположение, список ссылок на похожие записи, специфичную информацию для поисковых машин, и т.д. и т.п. Всё это хранится в таблице wp_postmeta.
Структура этой таблицы очень простая и гибкая. Она имеет всего четыре поля: meta_id, post_id, meta_key и meta_value. meta_id создаётся автоматически, и я не вижу ни одной причины, по которой его нужно было бы менять вручную. post_id соответствует ID записи (в таблице wp_posts), о которой эта мета-информация. meta_key – это краткое описание мета-информации, которую Вы хотите добавить к записи (например ‘mood’ или ‘song’). meta_value – это непосредственно значение мета-информации (например «хуевастенько» для ‘mood’).
WordPress использует эту таблицу для хранения дополнительной информации об аттачментах, которая не может быть сохранена в таблице wp_posts (локальные пути к файлу, информация о превьюшках и т.д.). Также в этой таблице содержатся специфические поля или значения – те, которые вы видите в редакторе. И, конечно, существует огромное количество плагинов, которые используют эту таблицу для своих нужд. Итак, если Вы решили использовать эту таблицу, Вам нужно придумать уникальные имена для Ваших «мета-ключей», в противном случае Ваш плагин может конфликтовать с другими.
wp_users
WordPress использует эту таблицу для хранения информации о зарегистрированных пользователях. В ней содержатся ID пользователей, их логин, зашифрованный пароль, полное имя, дата регистрации, и многое другое.
wp_usermeta
Для пользователей таблица wp_usermeta является тем же самым, чем является wp_postmeta для записей (контента). В ней содержится вся дополнительная информация о пользователях – персональные настройки (вкл./выкл. визуальный редактор, день рождения, контактная информация и т.п.).
wp_comments
В таблице wp_comments хранятся все комментарии к записям на вашем сайте, включая подтвержденные, ожидающие модерации, спам, трэкбэки, пингбэки, посланные Вам с других сайтов. О предназначении полей этой таблицы Вы можете догадаться и сами, но в любом случае, вот их краткое описание:
* comment_ID – уникальный ID для каждого комментария, создаётся автоматически MySQL* comment_post_ID – уникальный ID записи, к которой комментарий был добавлен* comment_author – имя автора комментария* comment_author_email – email автора комментария* comment_author_url – URL автора комментария* comment_author_IP – IP-адрес автора комментария* comment_date – дата и время добавления комментария* comment_content – текст комментария* comment_approved – прошёл ли комментарий модерацию и если да, то как* comment_agent – браузер автора комментария (MSIE, Firefox, Safari и т.д.)* comment_type – обычный комментария, трэкбэк, пингбэк* user_id – ID автора, если он зарегистрированный пользователь
Есть еще несколько полей, но они нам вряд ли понадобятся, поэтому мы оставим их описание за кадром.
wp_options
Таблица wp_options содержит все глобальные настройки WordPress. Она довольно похожа на таблицы wp_postmeta и wp_usermeta по структуре, но есть и различия.
В этой таблице есть поле blog_id, но используется оно только в WordPress MU (большая часть кода однопользовательской и многопользовательской инсталляций WordPress совпадают). WordPress MU использует это поле для того, чтобы отличить настройки одного блога от настроек другого.
Поле autoload определяет – загружаются/записываются ли настройки из базы данных/кэша или они доступны только для чтения. Большинство настроек загружаются автоматически.
wp_categories
Таблица wp_categories содержит информацию обо всех категориях, которые Вы создали, это: название и описание категории, ID родительской категории и т.д.
Для ускорения работы WordPress сохраняет некоторую статистику. Например, количество записей и ссылок в категории пересчитывается каждый раз при их добавлении или удалении (поля category_counter и link_count).
wp_post2cat
Связывание записи с категорией осуществляется через таблицу wp_post2cat. Это стандартный подход для связи «многих-со-многими» в реляционных базах данных. wp_post2cat имеет только три поля: уникальный ID (для строки в таблице, создаётся автоматически), уникальный ID записи и ID категории, в которую добавлена запись.
wp_links
Обычно таблица wp_links используется для хранения блогролла, списка ссылок на другие сайты или блоги. Настроек для блогролла огромное количество, поэтому подробно рассматривать эту таблицу мы не будем. Скажу только одно: если Вам вдруг вздумается создать на основе WordPress каталог ссылок, например новый Yahoo!, Вам не придётся много программировать. По сути нужно только будет создать «кустомную» тему.
wp_link2cat
Таблица wp_link2cat практически идентична wp_post2cat, за исключением того, что в ней содержатся ID ссылок вместо ID записей.
P.S. статья старенькая и подходит для базы WordPress до версии 2.3, но я решил ее все таки опубликовать, т.к. общее все рано есть. Может кому пригодиться. Желаю удачи!!!
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
как её создать, из чего она состоит и как её оптимизировать
Базы данных WordPress – это хранилище всей информации, размещенной на вашем сайте. Это непосредственная среда его существования, поэтому очень важно, чтобы в ее работе не было никаких неполадок.
Создание базы
Процесс создания базы представляет собой загрузку файлов на хостинг, создание базы MySQL, запуск веб-интерфейса инсталлятора и установку прав доступа.
Загрузить файлы можно по SSH с помощью стандартных команд. Создать базу удобно с помощью панели phpMyAdmin. Вам нужно будет указать имя будущей базы, сделать пользователя и установить права.
После этого можно будет запустить работу инсталлятора, разделить права для доступа к файлам и установить выбранный вами шаблон оформления.
Откройте редактором файл wp-config.php и укажите в нем имя базы, пользователя, пароль и сервер. О том, какой редактор лучше использовать, мы писали тут.
Структура базы
WordPress база данных представляет собой совокупности таблиц. Для любого сайта на Вордпресс их минимум одиннадцать, но по мере расширения сайта может расти и их число. Все таблицы начинаются с префикса wp_, а затем имеют название, из которого становится понятно, за что именно она отвечает:
- Wp_commentmeta содержит данные обо всех комментариях
- Wp_comments непосредственно хранит их тексты
- Wp_links хранит ссылки
- Wp_terms – названия категорий
- Wp_postmeta – данные о записях
- Wp_post – сами записи
- Wp_term_taxonomy – иерархия категорий
- Wp_options сохраняет настройки
- Wp_term_relationships показывает, к какой категории отнесена запись
- Wp_usermeta – метаданные пользователей
- Wp_users – зарегистрированные пользователи
При установке дополнительных плагинов таблиц будет больше. Как видите, в базе хранится буквально все, поэтому доступ к ней нужно тщательно охранять от посягательств, а внутри поддерживать порядок и стараться по мере сил оптимизировать ее работу.
Как оптимизировать работу базы данных
Базы данных WordPress можно оптимизировать, проводя периодическую очистку. Сделать это можно, например, с помощью плагина WP-Optimize. Это уменьшит ее размер и снизит нагрузку. От чего можно избавиться? От промежуточных сохранений записей, пустых папок, спамных комментариев, файлов, находящихся в корзине – да много от чего!
Перед тем, как проводить эксперименты настоятельно рекомендуется делать бэкапы, чтобы избежать возможных неприятных последствий.
На время выполнения работ по оптимизации закройте сайт на техническое обслуживание, чтобы избежать внесения изменений (например, появления новых комментариев).
Если вы нашли ошибку, то выделите её и нажмите клавиши Shift + Enter или нажмите сюда, чтобы проинформировать нас.
Также по этой теме:
wpuroki.ru
Что такое базы данных WordPress
Базы данных WordPress обычно скрыты от вебмастера, который особо не вникает в техническую сущность своего сайта. Однако этот элемент является одним из самых важных для WordPress и каждому следует понимать, для чего нужна база данных.
В этой статье мы расскажем вам о том, что такое базы данных WordPress и как они используются сайтом.
Как попасть в базы данных WordPress
Чтобы попасть в базу данных, вам следует использовать PHP MyAdmin, который есть на вашем хостинге. С помощью этого веб-приложения вы можете работать со совей базой данных, редактировать её и выполнять другие операции.
Для входа в базу данных вам следует знать имя пользователя и пароль. Как правило, эти данные есть на хостинге. Имя пользователя, пароль и сервер для подключения указывается также в файле wp-config.php, который находится в корневой папке вашего сайта. Если в этом файле данные указаны не верно, то при загрузке сайта появляется сообщение «Ошибка соединена с базой данных WordPress».
Перед тем, как вносить изменения в базы данных WordPress, сделайте резервную копию. Скопировать базы данных на компьютер можно через PHP MyAdmin или с помощью специальных плагинов для WordPress.
Что хранится в базе данных
База данных состоит из нескольких таблиц. В этих таблицах сохраняется следующая информация:
- wp_posts – в этой таблице хранится содержание записей и страниц.
- wp_postmeta – здесь метаданные записей и страниц.
- wp_comments – в этой таблице хранится содержание всех комментариев на сайте.
- wp_commentmeta – метаданные комментариев.
- wp_terms – все рубрики и метки.
- wp_links – ссылки, которые есть на сайте (не путать с перелинковкой, это ссылки из пункта «Ссылки» консоли).
- wp_users – пользователи сайта.
- wp_user_meta – метаданные пользователей.
- wp_options – настройки
Базы данных WordPress обладают и другими таблицами. Здесь указаны основные. Кроме того, почти каждый плагин создаёт свою таблицу в базе данных, в которых хранятся настройки и другая информация.
Оптимизация баз данных
Оптимизация баз данных может значительно улучшить скорость загрузки сайта. Так, в базе данных WordPress сохраняются ненужная информация – резервные копии записей и страниц, информация из корзины, данные удалённых или не рабочих плагинов.
Оптимизация баз данных WordPress может осуществляться вручную. Однако если не хватает опыта, можно использовать разнообразные плагины.
Если вы нашли ошибку, то выделите её и нажмите клавиши Shift + Enter или нажмите сюда, чтобы проинформировать нас.
Также по этой теме:
wpuroki.ru