Настроить репликацию из нескольких источников с помощью mysql
Я пытаюсь настроить репликацию из нескольких источников и читаю этот учебник: репликация из нескольких источников
Я думаю, что я нашел именно то, что мы ищем! Но у меня есть несколько вопросов, так как я пытаюсь настроить репликацию MySQL впервые.
У нас будет 2 (или более, будет добавлено в будущем, один за другим) сервера (мастера), которые будут установлены на внешний IP (офис разных клиентов), и 1 "главный сервер" (ведомый), установленный на "веб-сервере". ” (Не знаю, где сейчас).
Можно ли добавить "мастер", когда все настроено для других мастеров (и ведомого) без перезапуска каждого сервера? В будущем, несколько мастеров, вероятно, будут добавлены.
Если мы используем автоинкремент, и это поле не является моим первичным ключом, нужно ли мне настраивать часть "auto_increment_increment"? Это потому, что количество мастеров будет меняться со временем.
Нужно ли нам использовать InnoDB для таблиц, чтобы иметь возможность реплицировать их в репликации с несколькими источниками? Или можно использовать MyISAM?
Можно ли реплицировать только несколько таблиц, я имею в виду, игнорировать некоторые таблицы? Должны ли мы использовать это: REPLICATE_IGNORE_TABLE?
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';
auto_increment_increment - это величина, которую сервер будет увеличивать каждый раз, когда генерируется автоматически увеличенное значение. Эта переменная предназначена для использования с репликацией мастер-мастер, не думайте, что вы можете использовать ее в настройках репликации с несколькими источниками.
- Вы также можете использовать таблицы MyISAM.
- Если вы хотите реплицировать только определенные таблицы, вы можете использовать параметр "replicate_do_table = table_name" в вашем файле my.cnf. Для игнорирования вы можете использовать параметр "replicate_ignore_table" из вашего файла my.cnf. "