Настроить репликацию из нескольких источников с помощью mysql

Я пытаюсь настроить репликацию из нескольких источников и читаю этот учебник: репликация из нескольких источников

Я думаю, что я нашел именно то, что мы ищем! Но у меня есть несколько вопросов, так как я пытаюсь настроить репликацию MySQL впервые.

У нас будет 2 (или более, будет добавлено в будущем, один за другим) сервера (мастера), которые будут установлены на внешний IP (офис разных клиентов), и 1 "главный сервер" (ведомый), установленный на "веб-сервере". ” (Не знаю, где сейчас).

  1. Можно ли добавить "мастер", когда все настроено для других мастеров (и ведомого) без перезапуска каждого сервера? В будущем, несколько мастеров, вероятно, будут добавлены.

  2. Если мы используем автоинкремент, и это поле не является моим первичным ключом, нужно ли мне настраивать часть "auto_increment_increment"? Это потому, что количество мастеров будет меняться со временем.

  3. Нужно ли нам использовать InnoDB для таблиц, чтобы иметь возможность реплицировать их в репликации с несколькими источниками? Или можно использовать MyISAM?

  4. Можно ли реплицировать только несколько таблиц, я имею в виду, игнорировать некоторые таблицы? Должны ли мы использовать это: REPLICATE_IGNORE_TABLE?

1 ответ

  1. Да, вы можете использовать приведенный ниже запрос на ведомом устройстве, чтобы добавить новый мастер в настройку с несколькими источниками:

    ИЗМЕНИТЬ MASTER TO MASTER_HOST='master1', MASTER_USER='rpl', MASTER_PORT=3451, MASTER_PASSWORD='' \ MASTER_LOG_FILE='master1-bin.000006', MASTER_LOG_POS=628 для канала 'master-1';

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

  3. Вы также можете использовать таблицы MyISAM.
  4. Если вы хотите реплицировать только определенные таблицы, вы можете использовать параметр "replicate_do_table = table_name" в вашем файле my.cnf. Для игнорирования вы можете использовать параметр "replicate_ignore_table" из вашего файла my.cnf. "
Другие вопросы по тегам