Skip to content
🚀 20% OFF for new customers on Linux and Windows servers! Code: ILK20  |  Order Now →
database Управление базами данных

Как настроить репликацию MySQL Master-Slave?

Пошаговая настройка репликации MySQL Master-Slave. Идеальное решение для балансировки нагрузки, резервного копирования и производительности базы данных.

person
Editör
(Обновлено: 10 сен 2026) schedule 3 мин чтения visibility 11 просмотров

В управлении базами данных MySQL настройка репликации master-slave является незаменимым методом, особенно для веб-сайтов с высоким трафиком и критически важных приложений. Благодаря этой структуре все данные, записываемые на главную базу данных (master), мгновенно копируются на одну или несколько резервных баз данных (slave). Как же реализовать эту репликацию? Вот пошаговое руководство.

Зачем нужна репликация Master-Slave?

Одним из главных преимуществ репликации master-slave является распределение нагрузки чтения на slave-серверы, что снижает нагрузку на master. Например, в интернет-магазине операции чтения, такие как отображение списка товаров, выполняются на slave, а операции записи, например создание заказа, остаются на master. Кроме того, если master-сервер выйдет из строя, вы можете быстро сделать slave новым master и обеспечить бесперебойную работу.

Подготовка Master-сервера

Сначала выполним необходимые настройки на master-сервере для репликации. Откройте конфигурационный файл MySQL (обычно /etc/mysql/my.cnf или /etc/my.cnf) и добавьте следующие параметры:

  • server-id: 1 (уникальный ID для master)
  • log-bin: /var/log/mysql/mysql-bin.log (путь к бинарному логу)
  • binlog-do-db: имя базы данных для репликации (опционально)

Пример конфигурации:

[mysqld] server-id = 1 log-bin = /var/log/mysql/mysql-bin.log binlog-do-db = myapp

Затем перезапустите MySQL: sudo systemctl restart mysql

Создание пользователя репликации

На master-сервере необходимо создать пользователя, через которого slave будет подключаться. Подключитесь к MySQL от root и выполните следующие команды:

CREATE USER 'replica'@'%' IDENTIFIED BY 'надёжный_пароль'; GRANT REPLICATION SLAVE ON *.* TO 'replica'@'%'; FLUSH PRIVILEGES;

Здесь '%' разрешает подключение с любого IP; для безопасности рекомендуется указать конкретный IP-адрес.

Получение информации о состоянии master

Получите имя файла бинарного лога и позицию для использования при настройке slave:

SHOW MASTER STATUS;

Запишите значения File и Position. Например: File: mysql-bin.000001, Position: 107

Подготовка Slave-сервера

Теперь перейдите на slave-сервер. Добавьте следующие строки в конфигурационный файл:

  • server-id: 2 (должен отличаться от master)
  • relay-log: /var/log/mysql/mysql-relay-bin.log

Пример:

[mysqld] server-id = 2 relay-log = /var/log/mysql/mysql-relay-bin.log

Перезапустите MySQL.

Настройка подключения slave

Используя данные, полученные от master, подключите slave к master. Подключитесь к MySQL от root и выполните следующую команду:

CHANGE MASTER TO MASTER_HOST='ip_адрес_master', MASTER_USER='replica', MASTER_PASSWORD='надёжный_пароль', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=107;

Затем запустите slave:

START SLAVE;

Для проверки состояния репликации:

SHOW SLAVE STATUS\G;

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

Возможные проблемы и их решения

  • Блокировка брандмауэром: Убедитесь, что порт 3306 на master-сервере доступен с slave.
  • Конфликт server-id: Используйте уникальные server-id на всех серверах.
  • Несоответствие позиции бинарного лога: Если slave уже содержит старые данные, сделайте дамп с master и загрузите его на slave, затем подключите с правильной позицией.

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

Заключение

Репликация master-slave — это одна из основных техник управления базами данных, которую мы, HostingServer.com.tr, рекомендуем нашим клиентам. Благодаря этой структуре вы можете повысить производительность ваших приложений и снизить риск потери данных. Не забывайте регулярно проверять состояние репликации после настройки. Помните, правильная конфигурация и мониторинг сэкономят вам много хлопот.

Поделиться статьёй

Поделиться LinkedIn WhatsApp

Похожие статьи