В данном статье речь пойдёт о том, как синхронизировать базы данных WordPress. А так же о том, какие таблицы в базе наиболее важные и как с ними работать.

Структура базы данных WordPress

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

По большому счёту досконально разбираться во всех таблицах необязательно. Достаточно знать, в каких таблицах находится информация о статьях, комментариях и так далее. Именно эти таблицы имеют ключевое значение при синхронизации.

Итак, рассмотрим ключевые таблицы в базе данных WordPress.

wp_options – содержит все настройки сайта;

wp_posts – все статьи и записи на сайте;

wp_postmeta – вспомогательные данные о статьях и записях на сайте;

wp_comments – комментарии;

wp_commentmeta – вспомогательная информация о комментариях;

wp_term_relationships – связи статей и записей с категориями и тегами;

wp_terms – связи категорий (рубрик) со ссылками;

wp_term_taxonomy – связи категорий, тегов, ссылок;

wp_usermeta – информация обо всех зарегистрированных пользователях;

wp_users – информация об администраторе.

Основные таблицы в БД WordPress

Основные таблицы в БД WordPress

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

Аналитика в базе данных

Аналитика в базе данных

Вот теперь, когда общее представление о базе данных WordPress у вас сложилось, можно приступать к цели нашего урока – синхронизации баз данных.

Подготовка к процессу синхронизации

Прежде чем приступить к работе с базой данных, — обязательно сделайте резервную копию. Так как если вы сделаете, что-то не так. То сможете всё восстановить из копии.

Также, с целью отработки процесса, рекомендую для начала установить локальный сервер Денвер и потренироваться на нём.

Так, вы и процесс поймёте, и сможете создать нужную базу данных на своём компьютере и перенести на хостинг уже готовую БД.

Самое главное не забудьте про резервную копию.

Сравнение баз данных в phpMyAdmin

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

Использовать для этого будем утилиту phpMyAdmin, которая доступна и на хостинге и на локальном сервере.

В качестве сравнения будем использовать базу данных на локальном сервере, которую я использовал в работе над новым шаблоном. И базу данных, которая используется у меня на моём блоге.

Для сравнения возьмём одну цифру – количество статей. Так как для таких сайтов, как мой, – это самое ценное. Ну и комментарии, конечно. К тому же эти цифры всегда у вас на виду.

Анализируем тестовый сайт и базу данных:

Для начала посмотрим на количество статей. Сделать это можно в административной панели Вордпресс. Достаточно открыть консоль.

Показатели локальной базы

Показатели локальной базы

Как видно, на скриншоте, статей на тестовом сайте – 136.

После обновления темы оформления, я успел написать ещё пару статей. И сейчас их уже 138.

Показатели реальной базы

Показатели реальной базы

Количество статей должно соответствовать количеству записей в таблице wp_posts. Но, если открыть эту таблицу, то записей вы увидите гораздо больше.

Общее количество записей в таблице

Общее количество записей в таблице

Как видите на скриншоте – всего записей 2,245. И среди них и статьи и отдельные записи. А ещё это куча черновиков и прочих записей о картинках и так далее.

Поэтому сразу определить количество статей нереально. Для этого потребуется сделать небольшой запрос с параметрами сортировки.

Открываете базу данных – таблицу wp_posts – переходите на закладку SQL – вводите запрос:

SELECT * FROM `wp_posts` WHERE `post_status` = 'publish' AND `post_type` = 'post'

Этот запрос говорить о том, что в таблице wp_posts нужно выбрать все записи (*), где статус – опубликовано (publish) и это статья (post).

Запрос на сортировку

Запрос на сортировку

В итоге получаем 136 записей. Вот теперь эта цифра соответствует количеству статей.

Сортитовка по статьям

Сортитовка по статьям

Точно так же сверяется и другая база данных. В моём случае – реальная база с моего блога.

Эти знания помогут вам не потерять ничего важного. И проверить после синхронизации, всё ли прошло успешно.

В качестве досадного примера расскажу небольшую историю. Один мой знакомый, однажды переезжал с одного хостинга на другой. Делал всё по инструкции, техподдержка ему помогла. Но, через какое-то время он заметил, что на его сайте не хватает двух статей. Когда он попросил меня разобраться, в чём может быть проблема, я провёл сверку, и выяснилось, что в новой базе нет двух записей, которые есть в старой базе данных. Скорей всего, когда он переносил базу данных, то что-то сделал не так и потерял эти две статьи. В результате пришлось немного поколдовать и вернуть эти две статьи на их законное место.

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

Синхронизация баз данных WordPress

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

Шаг 1. Создание двух пустых баз данных

Если возникает вопрос почему две базы, то объясняю, — это нужно для того, чтобы не трогать рабочие базы данных и показать пример с чистого листа.

Первым делом запускаете Денвер и в браузере набираете localhost/tools/, а далее жмёте на ссылке phpmyadmin.

Запуск phpMyAdmin

Запуск phpMyAdmin

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

Создание новой базы данных

Создание новой базы данных

Шаг 2. Импортируем данные в базу

Итак, я сделал резервные копии баз данных. Одну с тестового сайта, другую с моего блога в интернете. Они понадобятся для импорта содержимого во вновь созданные базы. А далее будут страховкой.

У вас должно быть тоже две базы, которые вы будете синхронизировать.

Теперь нужно импортировать данные из резервных копий в новые базы данных. Для этого выбираете новую базу – откройте закладку «Импорт» — выбираете «файл резервной копии» — нажимаете кнопку «Ок».

Импорт базы данных

Импорт базы данных

Шаг 3. Синхронизация баз данных

Вообще, есть возможность просто копировать нужные таблицы из одной базы в другую. Но мы рассмотрим непосредственно процесс синхронизации. Как полной так и частичной (в виде отдельных таблиц).

Для этого нужно перейти на главную страницу phpMyAdmin и выбрать раздел «Синхронизировать».

Начало синхронизации

Начало синхронизации

Теперь в качестве источника определяем базу данных с блога в интернете (она более свежая), а в качестве целевой базы – базу с тестового сайта. Наша задача скопировать новые статьи, комментарии и теги в базу данных тестового сайта.

Выбор баз для синхронизации

Выбор баз для синхронизации

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

Результат сравнения баз данных

Результат сравнения баз данных

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

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

Для синхронизации баз данных полностью, ничего отмечать не нужно. Достаточно нажать на кнопку «Синхронизировать базы данных».

Вот, и всё. На этом процесс синхронизации окончен. Можно проверять результат. Для наглядного примера, я сменил базу данных на локальном сайте. Если кто забыл, делается это в файле wp-config.php. И теперь можно сравнить количество статей, записей и комментариев. Правда, комментариев на блоге стало немного больше, пока я писал статью.

Статистика по тестовому блогу:

Итоги по локальной базе

Итоги по локальной базе

Статистика по рабочему блогу:

Итоги по реальной базе

Итоги по реальной базе

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

А теперь советую посмотреть видеоурок, в котором весь процесс синхронизации баз данных я показываю шаг за шагом.

Источник

 

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here