Вы просматриваете: » » Добавление и объединение реплик mysql
Категория: Информация, опубликовал: rob96, добавлено: 15-10-2014, 13:58
 



В продолжение про настройку репликации БД mysql

Добавление Реплик

Если уже настроен процесс репликации, есть несколько Реплик и Мастер. И нужно добавить другую Реплику к работающей системе. Не нужно тормозить работу Мастера. Нужно внести в MySQL конфигурации новые параметры:

1. server-id = 3
2. replicate-do-db = testdb

Остановить процесс репликации на Реплике 1

mysql@replica-1> stop slave;

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

mysql@replica-1> SHOW SLAVE STATUS\G

Запомните значения ниже:
Master_Log_File: mysql-bin.000004
Exec_Master_Log_Pos: 155

делаем дамп базы данных и продолжаем процесс репликации на первой реплике. Затем перенесим на вторую Реплику и восстанавливаем базу данных. Запускаем процесс репликации:

1. mysql@replica-2> CHANGE MASTER TO MASTER_HOST = "192.168.1.101", MASTER_USER = "replication",
MASTER_PASSWORD = "password", MASTER_LOG_FILE = "mysql-bin.000004", MASTER_LOG_POS = 155;

2. mysql@replica-2> START SLAVE;

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

Объединение Реплик

К примеру, Мастер содержит две базы данных, одну нужно дублировать на первой реплике, другую – на второй. Нужно сделать так, чтобы репликация обеих баз данных происходила на двух репликах. Без дампа и торможения Мастера можно воспользоваться командой «start slave until».

Допустим имена баз данных на Мастере следующие: testdb1; testdb2. Соответственно своему имени база данных повторяется на Реплике 1 и Реплике 2. Как сделать так, чтобы обе базы данных повторялись на Реплике 1, при этом, не останавливая Мастера? -Остановить Репликацию на Реплике 2, запомнить позицию Мастера:

1. mysql@replica-2> STOP SLAVE;
2. mysql@replica-2> SHOW SLAVE STATUS\G
Master_Log_File: mysql-bin.000015
Exec_Master_Log_Pos: 231

Сделайтm дамп базы данных 2, включить репликацию. Восстановить дамп базы данных на Реплике 1. Теперь база данных 1 находится на первой позиции, база данных 2 находится на другой позиции и обе на Реплике 1. Нужно настроить их синхронизацию. Остановив процесс дублирования, запомните позицию Мастера.

1. mysql@replica-2> STOP SLAVE;
2. mysql@replica-2> SHOW SLAVE STATUS\G
Master_Log_File: mysql-bin.000016
Exec_Master_Log_Pos: 501

В файле конфигурации MySQL на Реплике 1 должно быть указано правильное название второй базы данных:

replicate-do-db = testdb2

Осуществите перезагрузку MySQL, чтобы все изменения вступили в силу. Репликацию можно не тормозить. В логе было бы указано, какая позиция была при остановке процесса.

Теперь нужно осуществить дублирование с той позиции, которая была в момент остановки Реплики 2 до той, когда мы остановили дублирование только что:

1. mysql@replica-1> CHANGE MASTER TO MASTER_HOST = "192.168.1.101", MASTER_USER = "replication", MASTER_PASSWORD = "password",
MASTER_LOG_FILE = "mysql-bin.000015", MASTER_LOG_POS = 231;

2. mysql@replica-1> start slave until MASTER_LOG_FILE = "mysql-bin.00016", MASTER_LOG_POS - 501;

Когда реплика будет на нужной позиции, то процесс завершится. Тепреь обе базы данных работают на одной позиции. Проверка-
1. mysql@replica-1> SHOW SLAVE STATUS\G
2. mysql@replica-1> START SLAVE;
Master_Log_File: misql-bin:000016
Exec_Master_Log_Pos: 501

В файл конфигурации MySQL нужно добавить обе базы данных:

replicate-do-db = testdb1
replicate-do-db = testdb2

перезагружаем MySQL и продолжаем репликацию

mysql@replica-1> CHANGE MASTER TO MASTER_HOST = "192.168.1.101", MASTER_USER = "replication", MASTER_PASSWORD = "password",
MASTER_LOG_FILE = "mysql-bin.000016", MASTER_LOG_POS = 501


Когда Реплика 1 продублирует все операции Мастера, то они будут с одинаковой информацией. Делаем дамп Реплики 1 и переносим на Реплику 2, тогда там будут храниться обе базы данных.



     Комментариев оставлено: (0)    Просмотров: 5133   
Теги:   unix, mysql

Другие новости по теме:

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии к новости:

Оставить свой комментарий:

Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Вставка ссылкиВставка защищенной ссылки Картинка Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Введите два слова, показанных на изображении:


управление аккаунтом
Профиль пользователя
, вы вошли как гость


Если вы на сайте впервые, то вы можете зарегистрироваться!

Вы забыли пароль?
самые интересные новости
Популярные новости
Материалы данного ресурса принадлежат пользователям и предназначены для расширения кругозора всех желающих
Unix Windows Техника Железо Mobile For Games Сплетни Net
  • Шпаргалки