error 1236 Ведомое устройство с тем же server_uuid / server_id, что и это ведомое устройство, подключилось к ведущему

Я получил эту ошибку при настройке одного главного и нескольких подчиненных серверов.

Last_IO_Error: Получил фатальную ошибку 1236 от мастера при чтении данных из двоичного журнала: 'Подчиненное устройство с тем же server_uuid / server_id, что и это подчиненное устройство, подключилось к мастеру; первое событие 'mysql-bin.xxxx' при чтении события из /var/lib/mysql/mysql-bin.xxx 'в xx, последний байт, прочитанный из' /var/lib/mysql/mysql-bin.xxx 'в ххх. ' Скриншот одного из подчиненных

0
задан 29 April 2019 в 08:40
1 ответ

ПРИМЕНЯЕТСЯ К: Сервер MySQL - версия 5.6 и новее Информация в этом документе применима к любой платформе.

При попытке запустить репликацию возникает следующая ошибка:

mysql> SHOW SLAVE STATUS \ G
*************************** 1. строка ******************** ******* ... Slave_IO_Running: Нет Slave_SQL_Running: Да ... Last_IO_Errno: 1593 Last_IO_Error: Неустранимая ошибка: поток ввода-вывода ведомого устройства останавливается, поскольку ведущее устройство и ведомое устройство имеют одинаковые UUID сервера MySQL; эти UUID должны быть разными, чтобы репликация работала. Last_SQL_Errno: 0 Last_SQL_Error: ... Master_UUID: 7cb3e340-39d6-11e3-bc02-080027fa0f20 ... 1 строка в наборе (0,00 сек)

Ошибка также отображается в журнале ошибок:

2013-11-12 09:54:21 10149 [ERROR] Slave I / O: Fatal error: Slave I Поток / O останавливается, потому что ведущее и ведомое устройства имеют одинаковые UUID сервера MySQL; эти UUID должны быть разными, чтобы репликация работала. Код ошибки: 1593 2013-11-12 09:54:21 10149 [Примечание] Выход из потока ввода-вывода ведомого устройства, чтение до журнала 'binlog.000005', позиция 231

ИЗМЕНЕНИЯ Эта проблема обычно возникает сразу после клонирования ведомого устройства из ведущего устройства, особенно когда используются моментальные снимки файловой системы или каталог данных был скопирован с помощью команд файловой системы.

ПРИЧИНА UUID сервера одинаковы для ведущего и ведомого. UUID используются для идентификации серверов, поэтому они должны быть идентичными. Это, например, необходимо для репликации с использованием GTID.

UUID сервера хранится в файле auto.cnf, который находится в каталоге данных. Вы можете увидеть значение UUID сервера с помощью:

mysql> SHOW GLOBAL VARIABLES LIKE 'server_uuid'; + --------------- + --------------------------------- ----- + | Имя_переменной | Значение | + --------------- + --------------------------------- ----- + | server_uuid | 7cb3e340-39d6-11e3-bc02-080027fa0f20 | + --------------- + --------------------------------- ----- + 1 ряд в комплекте (0,00 сек) Чтобы увидеть UUID ведущего, вы можете использовать вывод SHOW SLAVE STATUS:

mysql> SHOW SLAVE STATUS \ G
*************************** 1. строка ******************** ******* ... Master_UUID: 7cb3e340-39d6-11e3-bc02-080027fa0f20 ... 1 строка в наборе (0,00 сек)

РЕШЕНИЕ Если auto.cnf не существует, MySQL автоматически создаст новый файл с новым UUID. Итак, чтобы решить проблему:

  1. Остановите процесс MySQL на ведомом.
  2. Удалите файл auto.cnf из каталога данных.
  3. Запустите MySQL снова на ведомом устройстве.

Вам также следует пересмотреть процедуру для создание ведомого, чтобы гарантировать, что файл auto.cnf не копируется через ведущее устройство.

0
ответ дан 5 December 2019 в 03:15

Теги

Похожие вопросы