Intereting Posts
Использование плагина перенаправления для передачи URL-адресов как строчные в wordpress MySQL – Как объединить данные из двух таблиц в один? Добавление меню администратора верхнего уровня Добавление нескольких изображений на боковую панель страницы Как добавить несколько css или js-файлов в мой плагин Пользовательский тип категории. URL-адрес URL-адреса перенаправляется на главную страницу. Как поместить те же самые виджеты по умолчанию при активации темы? Создание плагина администратора. Содержимое страницы также отображается в глобальном масштабе. подкачка запросов mysql Добавить класс в соответствии с порядком внешнего вида Выпадающее меню видного архива Удаление полей с страницы профиля темы My Login Plugin get_post_thumbnail_id () Не возвращает значение Добавить всплывающее окно подтверждения на кнопку заказа места Многостраничный сайт WordPress: как создать домашнюю страницу, корневой URL?

Можно ли определить две базы данных для одной установки?

Можно ли определить 2 базы данных для одной установки wp, я искал, но есть опции для одной базы данных и 2 установки. Я хочу это, потому что один из сайтов моих клиентов размещен на выделенном сервере, но если увеличение трафика происходит, то база данных переходит в автономный режим. Поэтому, если у вас есть две базы данных и одна установлена ​​на другой хост, это будет возможным решением. Любая помощь?

Solutions Collecting From Web of "Можно ли определить две базы данных для одной установки?"

То, о чем вы говорите, это резервное копирование базы данных. Можно установить что-то вроде этого, но не напрямую с WordPress.

Как это будет работать

Вместо прямого доступа к базе данных вы должны получить доступ к прокси. Этот прокси-сервер будет располагаться перед вашими основными и резервными базами данных и пропускать трафик. По сути, он будет работать как балансировщик нагрузки для ваших баз данных.

Если трафик трафика и ваша основная БД снижаются, прокси-сервер будет перенаправлять трафик вместо вашей резервной копии.

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

Лучший способ

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

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

Вы могли бы сделать одну из двух вещей:

Отказоустойчивость установки

Установите Круговую репликацию MySQL с точкой DBVIP на одном из серверов БД. Другой сервер БД будет использоваться как пассивный, но горячий режим ожидания. Вам нужно будет ограничить все чтения и записи в DBVIP. Предположим, что DBVIP вы хотите 10.1.2.30. Вы просто запустили бы это на том, какой сервер БД будет сервер как Мастер

DBVIP=10.1.2.30 ip addr add ${DBVIP}/24 dev eth1 

Если Мастер спустится (сбой, перезагрузка и т. Д.), Запустите эти две команды на другом сервере БД. тогда у системных администраторов будет установлен Старый Мастер как новый подчиненный, восстановив Циркулярную репликацию.

Настройка автоматического отказоустойчивости

Используя DRBD и ucarp , вы можете настроить два сервера БД с резервированием на уровне диска. Опять же, вам нужно будет ограничить все чтения и записи в DBVIP. DBVIP и автоматический переход на другой ресурс будут управляться ucarp путем снабжения двумя сценариями

upscript

Редактор сценария должен быть написан по сценарию, чтобы сделать следующее

  • отключить DRBD
  • продвигать DBRD к Первичному
  • предположим, что DBVIP (запустив ip addr add )
  • mount DRBD on / var / lib / mysql
  • служба mysql start

downscript

В сокращенном сценарии будет написано следующее:

  • служба mysql stop
  • umount / var / lib / mysql
  • ip addr del DBVIP
  • отключить DRBD
  • понизить DRBD до вторичного

предостережение при автоматическом отказоустойчивости

Чтобы сохранить все данные MySQL, чтобы пережить непредвиденные отказы в согласованном состоянии, преобразуйте все таблицы MyISAM в InnoDB. Вот сценарий для этого:

 MYISAM_TO_INNODB_CONVERSION_SCRIPT=/root/ConvertMyISAMToInnoDB.sql echo "SET SQL_LOG_BIN = 0;" > ${MYISAM_TO_INNODB_CONVERSION_SCRIPT} mysql -u... -p... -AN -e"SELECT CONCAT('ALTER TABLE ',table_schema,'.',table_name,' ENGINE=InnoDB;') InnoDBConversionSQL FROM information_schema.tables WHERE engine='MyISAM' AND table_schema NOT IN ('information_schema','mysql','performance_schema') ORDER BY (data_length+index_length)" >> ${MYISAM_TO_INNODB_CONVERSION_SCRIPT} 

Таблицы MyISAM, которые используют индексы FULLTEXT, не могут быть преобразованы. В будущем MySQL 5.6 должен поддерживать индексацию FULLTEXT в InnoDB.