Пожалуйста, проверьте несколько вещей:
1) Убедитесь, что в /etc/my.cnf Мастера действительно установлен server_id
Вот почему: Репликация полагается на server_id.Всякий раз, когда запрос выполняется и записывается в двоичный журнал мастера, в него записывается server_id мастера.По умолчанию, если server_id не определен в /etc/my.cnf, server_id по умолчанию равен 1. Однако правила MySQL Replication требуют, чтобы server_id был явно определен в /etc/my.cnf мастера.Кроме того, для любого данного ведомого, mysqld проверяет server_id оператора SQL, поскольку это читает его из журнала ретрансляции и удостоверяется, что это отличается от server_id ведомого.Таким образом, MySQL Replication знает, что выполнять этот оператор SQL безопасно.Это правило необходимо в случае, если реализована репликация Circular (Master-Master, MultiMaster).
используйте select @@server_id;
в командной строке sql для проверки конфигурации на сервере.
2) Убедитесь, чтодля /etc/my.cnf ведомого устройства фактически задано значение server_id
Вот почему: та же причина, что и в # 1
3) Убедитесь, что значение server_id в /etc/my.cnf Мастера равноотличается от server_id в подчиненном /etc/my.cnf
Вот почему: та же причина, что и в # 1
Примечание: если вы настраиваете несколько подчиненных, убедитесь, что каждыйslave имеет другой server_id, отличный от своего главного и дочерних подчиненных.
Вот почему: Пример
Мастер с двумя подчиненными
MASTER имеет server_id 1
У SLAVE1 есть server_id 2
У SLAVE2 есть server_id 2
Репликация станет агрессивно медленной на SLAVE2, потому что подчиненный подчиненный имеет тот же server_id.Фактически, он неуклонно отстает, перехватывает, обрабатывает несколько операторов SQL.Это ошибка мастера за наличие одного или нескольких ведомых с одинаковыми значениями server_ids.Это гоча, которая нигде не документирована.Я видел это десятки раз в моей жизни.