Как перекачать данные с мастер сервера на слейв?

Для перекачки данных с мастер-сервера на слейв в MySQL можно использовать репликацию.

Репликация в MySQL позволяет автоматически передавать и воспроизводить изменения базы данных с одного сервера (мастер-сервера) на другой (слейв). Это позволяет поддерживать резервную копию данных, увеличить доступность системы и распределить нагрузку.

Основные шаги для настройки репликации в MySQL:

1. Убедитесь, что на обоих серверах установлен MySQL с одинаковой версией.

2. На мастер-сервере отредактируйте файл настройки MySQL (обычно my.cnf или my.ini) и добавьте параметры для репликации:

[mysqld]
log-bin=mysql-bin
server-id=1

Параметр log-bin включает бинарные логи, которые содержат записи всех транзакций базы данных. Параметр server-id устанавливает уникальный идентификатор сервера.

3. Перезапустите мастер-сервер для применения изменений в конфигурации.

4. Создайте пользователя для репликации на мастер-сервере и предоставьте ему необходимые привилегии для копирования данных:

mysql> CREATE USER 'replication_user'@'slave_ip' IDENTIFIED BY 'password';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'slave_ip';
mysql> FLUSH PRIVILEGES;

Замените 'slave_ip' на IP-адрес слейва и 'password' на пароль для пользователя репликации.

5. Запустите команду SHOW MASTER STATUS; на мастер-сервере и запишите значения File и Position. Это позволит слейву знать, с какой точки начать репликацию.

6. На слейве также отредактируйте файл настройки MySQL и добавьте параметры:

[mysqld]
server-id=2

Параметр server-id должен быть уникальным идентификатором слейва.

7. Перезапустите слейв-сервер для применения изменений в конфигурации.

8. Запустите команду для настройки репликации на слейве:

mysql> CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='replication_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='master_log_file', MASTER_LOG_POS=master_log_position;
mysql> START SLAVE;

Замените 'master_ip' на IP-адрес мастер-сервера, 'replication_user' и 'password' на данные созданного пользователя репликации, а 'master_log_file' и 'master_log_position' на значения, полученные из команды SHOW MASTER STATUS; на мастер-сервере.

9. Дождитесь, пока слейв-сервер установит соединение с мастер-сервером и начнет процесс репликации. Вы можете проверить статус репликации с помощью команды SHOW SLAVE STATUSG;

Теперь изменения, внесенные на мастер-сервере, будут автоматически передаваться и воспроизводиться на слейв-сервере. Если на мастер-сервере возникнет сбой, слейв-сервер может стать новым мастером, чтобы поддерживать доступность системы.