• Регистрация

1,074 вопросов

1,433 ответов

1,281 комментариев

8,741 пользователей

Добро пожаловать на Ubuntu Ответы, где вы можете задать вопросы и получить ответы от других пользователей сервиса.

Создание master-slave репликации MySQL с помощью Percona XtraBackup

0 голосов

Часто системным администраторам необходимо настроить репликацию MySQL. Репликация может настраиваться для определенных целей, например, распределение нагрузки, резервирование, бэкапирование и др.
В этой статье рассматривается удобный инструмент для быстрого разворачивания репликации без необходимости блокировки на запись основного сервера. Есть другие способы создания репликации (например, перенос БД в виде дампа, в виде файлов БД). У этих способов есть ряд недостатков:

  • Необходимость блокировки БД на запись;
  • Необходимость остановки MySQL (если переносятся файлы БД);
  • Длительная процедура создания и заливки дампа, если БД имеет большой размер.

Рассмотрим процедуру настройки репликации для ОС CentOS 6. Для установки Percona XtraBackup необходимо подключить репозиторий Percona yum Repository и установить пакет percona-xtrabackup. Предполагаем, что все необходимые настройки на мастер-сервере уже выполнены (указан server-id и включено ведение бинарных логов).

На master сервере создаем точную копию БД. Блокировку БД на запись включать не нужно.

innobackupex --user=root --password=PASS --no-timestamp /tmp/mysql-backup

Дожидаемся окончания процесса создания копии БД. После этого запускаем процедуру применения изменений, которые были записаны в бинарный лог в процессе создания копии БД

innobackupex --user=root --password=PASS --apply-log /tmp/mysql-backup

В конце процедуры должно появиться сообщение об успешном завершении операции

innobackupex: completed OK!

Архивируем директорию для ускорения процесса передачи на slave-сервер

tar -czf /tmp/mysql_backup.tar.gz /tmp/mysql-backup

Передаем архив на slave сервер любым доступным способом (scp, ftp и т.д.).

На slave сервере распаковываем архив, останавливаем MySQL, удаляем содержимое /var/lib/mysql (или переносим, если его нужно сохранить) и копируем содержимое архива в /var/lib/mysql, устанавливаем необходимого владельца и группу

chown -R mysql:mysql /var/lib/mysql

После этого запускаем MySQL. Точная копия БД master сервера готова. На настройке самой связки mater-slave не останавливаемся, поскольку эта информация достаточно хорошо освещена в сети. Нужно отметить, что значения MASTER_LOG_FILE и MASTER_LOG_POS для финальной настройки связки master-slave необходимо брать с файла xtrabackup_binlog_info.

Вопрос Mar 20, 2016 от sir_mcnellan Ветеран (8,680 баллов) в категории Серверные системы
   

Пожалуйста войдите или зарегистрируйтесь для ответа на этот вопрос.

...