Устанавливаем несколько сайтов на WordPress в одну базу данных

Устанавливаем несколько сайтов на WordPress в одну базу данных

5/5 - (1 голос)

Иногда, когда желания не совпадают с возможностями тарифного плана хостинга, возникает необходимость для двух, трех, а то и большего количества сайтов использовать одну базу данных. Сделать это не очень трудно и потребует от вас минимум усилий. Все, что нужно для этого – это внести небольшие изменения в конфигурационный файл WordPress wp-config.php. Как правило, при установке WordPress, вы вносите данные об имени базы данных, имени пользователя MySQL и пароле к базе данных MySQL. Этого вполне достаточно для установки и функционирования сайта на WordPress. Однако, в конфигурационном файле есть такой параметр, как префикс таблиц в базе данных WordPress и разработчики даже сделали комментарий к нему, разъясняя, каким образом вы можете его использовать:

/**
 * Префикс таблиц в базе данных WordPress.
 *
 * Можно установить несколько блогов в одну базу данных, если вы будете использовать
 * разные префиксы. Пожалуйста, указывайте только цифры, буквы и знак подчеркивания.
 */
$table_prefix  = 'wp_';

Если взглянуть на таблицы базы данных WordPress, то станет понятно, где используется этот самый префикс.

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

Как видите, два сайта на WordPress прекрасно “уживаются” в одной базе данных. Один из них имеет таблицы с префиксом wp_, а другой с префиксом wp2_.

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

Устанавливаем несколько сайтов на WordPress в одну базу данных: 12 комментариев

  1. “Однако, не стоит забывать, что использование одной базы данных по мере ее возрастания”
    Не правда.
    да хоть 1000 таблиц будет в базе, от этого она ни на миллисекунду работать меднение не будет, нежели, чем разнести эти 1000 по 10, на 100 баз =)
    Не вводите людей в заблуждение.

    1. А вы попробуйте установить несколько сайтов на одну БД при посещаемости в 1000 человек и посмотрите результат работы.

  2. По работе сталкивалась с базами где более 100 000 таблиц и всё замечательно работает. Главное что бы у админа и программистов были прямые руки. Когда таблицы разрастаются до большого количества записей, что бы снизить время выполнения запроса, данные разбивает на N-ное количество таблиц, это один из первый и самых простых способов масштабирования данных. Если данных много, то таблиц может быть десятки тысяч.

      1. Часто хостер на дешёвых тарифах разрешает использовать только одну БД, но доменов несколько. Этим способом можно обойти такое ограничение.

  3. Как показывает мой фриланс пилить всё в одно – полная параша. Поверьте моему совету! Каждый блог – отдельно, тогда всё ок, и жизнь становиться намного проще и легче!

    1. Я с тобой не согласна. Блог будет работать одинаково быстро.
      Плюсы вижу тут такие. Бекап данных делать просто. Надо копировать только одну базу.
      Допустим у тебя 50 сайтов в разных базах, тебе надо переехать на новый хостинг.
      И у меня 500 сайтов в одной базе с разными префиксами и мне тоже надо переехать на новый хостинг. Как думаешь, кто быстрее перенесёт сайты?
      Минус для тебя может быть только один, если ты подключаешься к базе через phpmyadmin или нечто подобным, визуально там будет не красиво и трудно разобраться. А если ты подключаешься непосредственно к mysql , так не важно сколько там таблиц)

      1. А что скажете по поводу одновременного большого количества обращений всех сайтов к одной базе данных?

        1. А какая разница….конекты идут к одной базе или к 10 или 100? Никакой разницы. Запрашиваются же разные таблицы… База это как папка которая содержит файлы, файлы это таблицы. Конекты идут к mysqld процессу, их лимитом можно управлять в конф файле my.ini
          Мир, жвачка 🙂

  4. А такая строчка в тарифном плане, как “одновременное количество запросов к БД” я думаю не просто так?

    Смысл в разнесении блогов на разные БД все же думаю есть.

    С бекапом проблем никаких. Юзать какую нить прогу вроде Syper Dumper. Ставь галочки да сливай.

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

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