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

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

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

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

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

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

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

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

0

Решение

  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. «
1

Другие решения

Других решений пока нет …