Справочное руководство по MySQL версии 4.1.1-alpha



         

Глава 4.10.7 Часто задаваемые вопросы по репликации - часть 3


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

Эта проблема не должна присутствовать в версии 3.23.26 и более поздних версиях. В версии 3.23.26 для каждого репликационного сервера добавляется идентификатор server-id, и теперь все старые процессы-зомби на головном сервере уничтожаются при присоединении нового репликационного потока из того же самого подчиненного сервера.

В: Как прокручивать журналы репликации?

О: В версии 3.23.28 нужно использовать команду PURGE MASTER LOGS TO после определения тех журналов, которые должны быть удалены, и выборочно сделать резервные копии этих журналов. В более ранних версиях этот процесс намного более трудоемкий, и не может быть безопасно выполнен без остановки всех подчиненных серверов, если планируется повторное использование имен журналов. Нужно будет остановить потоки подчиненного сервера, отредактировать индексный файл двоичного журнала, удалить все старые журналы, перезапустить головной сервер, запустить потоки подчиненного сервера и затем удалить файлы старых журналов.

В: Как сделать апгрейд сервера во время репликации?

О: Если модернизируемая версия ниже 3.23.26, нужно лишь блокировать таблицы головного сервера, позволить подчиненному серверу подогнать обновления, затем выполнить команду FLUSH MASTER на головном сервере и команду FLUSH SLAVE на подчиненном сервере, чтобы очистить журналы, затем перезапустить новые версии на головном и подчиненном серверах. Обратите внимание: подчиненный сервер может останавливаться на некоторое время - пока головной сервер записывает в журнал все обновления, подчиненный сервер будет способен подогнать обновления как только сможет начать работу и подсоединиться к головному серверу.




Содержание  Назад  Вперед