В продолжение про настройку репликации БД 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) Просмотров: 5689
Другие новости по теме:
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Комментарии к новости:
|
управление аккаунтом
Профиль пользователя
самые интересные новости
Популярные новости
|