Size: a a a

2020 July 10

ЛХ

Лапки Х in ru_mysql
begin..end пропустил
источник

M

Mb1W@ in ru_mysql
Лапки Х
я глупый
Не надо быть к себе настолько критичным.
Век живи - век учись.
источник

ЛХ

Лапки Х in ru_mysql
все работает, большое спасибо @asmmlist и @Mb1WA
источник

ЛХ

Лапки Х in ru_mysql
Mb1W@
Не надо быть к себе настолько критичным.
Век живи - век учись.
само собой)
источник

M

Mb1W@ in ru_mysql
Maksim Petuhov
Коллеги!
Подскажите, пожалуйста, где в документации или на опыте.
Ошибка 1062 на slave репетиции возникает  и останавливает. Какие запросы на мастер могут такое вызвать?
Пропускать все такие запросы или по одному не хочу, а вот знать какие ситуации приводят к этому реплику никак не найду в документации (с английским худо).
Master-slave, slave в read only

Это я знаю, как пропустить одну или все 1062 подряд.

Вопрос в том чтобы объяснить разработчикам, желательно ткнув пальцем в документацию, что не стоит часто использовать запросы типа
insert into ..on duplicate
или делать insert, получать ошибку что запись существует и не может быть изменена, а после этого делать update.
Спросили, а почему ломается реплика, на мастер же запрос не проходит успешно.
Я уже с подобными запросами ещё на 5.0 экспериментировал и реплика всегда ложится, пока не пропустить 1062 ошибку.

Но где это в документации написано? Хотя бы косвенно
Вы заходите не с той стороны.
Вы значение ошибки разобрали?
Simply put, error 1062 is displayed when MySQL finds a DUPLICATE of a row you are trying to insert. ... MySQL cluster replication tries to re-insert a field. A database dump file contains duplicate rows because of coding error. MySQL index table has duplicate rows.
Это значит, что запись на слейве уже существует и попала туда не с того мастера.
То есть или вы позицию репликации ввели не верно или на слейв вставили запись вручную или у слейва несколько мастеров.
источник

M

Mb1W@ in ru_mysql
Вообще я всегда смотрю в бинлоги.
Там все запросы есть.
источник

MP

Maksim Petuhov in ru_mysql
Mb1W@
Вы заходите не с той стороны.
Вы значение ошибки разобрали?
Simply put, error 1062 is displayed when MySQL finds a DUPLICATE of a row you are trying to insert. ... MySQL cluster replication tries to re-insert a field. A database dump file contains duplicate rows because of coding error. MySQL index table has duplicate rows.
Это значит, что запись на слейве уже существует и попала туда не с того мастера.
То есть или вы позицию репликации ввели не верно или на слейв вставили запись вручную или у слейва несколько мастеров.
Спасибо!
мастер один
slave в режиме read-only
позиция после снятия дампа взята из файла дампа
gtid-не используется
дамп делаю командой:
mysqldump   --single-transaction --flush-logs --hex-blob --master-data=2  --databases DB_NAME > dump.sql
источник

M

Mb1W@ in ru_mysql
Maksim Petuhov
Спасибо!
мастер один
slave в режиме read-only
позиция после снятия дампа взята из файла дампа
gtid-не используется
дамп делаю командой:
mysqldump   --single-transaction --flush-logs --hex-blob --master-data=2  --databases DB_NAME > dump.sql
Ошибка сразу возникает после запуска репликации или когда она нагнала мастер и какое-то время поработала?
источник

M

Mb1W@ in ru_mysql
Какого типа репликация? Какой версии мускуль?
источник

MP

Maksim Petuhov in ru_mysql
Mb1W@
Какого типа репликация? Какой версии мускуль?
в процессе догона мастера, но стартовую позицию уже прошла
источник

M

Mb1W@ in ru_mysql
Maksim Petuhov
Спасибо!
мастер один
slave в режиме read-only
позиция после снятия дампа взята из файла дампа
gtid-не используется
дамп делаю командой:
mysqldump   --single-transaction --flush-logs --hex-blob --master-data=2  --databases DB_NAME > dump.sql
Ну со стороны команды я проблем не вижу.
Какого типа репликация? Какой версии мускуль?
Надо искать, что вызывает такое поведение в бинлогах.
Возможно стоит сравнить файлы конфигурации мастера и слейва.
Когда найдете запрос вызывающий проблему он вам подскажет, что может быть не так.
источник

MP

Maksim Petuhov in ru_mysql
Mb1W@
Ну со стороны команды я проблем не вижу.
Какого типа репликация? Какой версии мускуль?
Надо искать, что вызывает такое поведение в бинлогах.
Возможно стоит сравнить файлы конфигурации мастера и слейва.
Когда найдете запрос вызывающий проблему он вам подскажет, что может быть не так.
mized репликация
master: MariaDB 10.2.15
slave: MariaDB 10.2.32
файлы конфигурации идентичны за исключением размера кэшей, отключенного bin-log на slave и включенного relay-log на slave


"Когда найдете запрос вызывающий проблему он вам подскажет, что может быть не так."
сам запрос нашел (он явно в ошибке пишется)
разработчики молчат
источник

M

Mb1W@ in ru_mysql
Я с марией не работал. Обратите внимание, что у вас разные версии самой базы.
Я бы так не делал. В разных версиях разные баги. Если апгрейдить, то протестировав, что ваши данные это нормально переживут.
источник

M

Mb1W@ in ru_mysql
Запрос показать можете?
источник

MP

Maksim Petuhov in ru_mysql
Mb1W@
Я с марией не работал. Обратите внимание, что у вас разные версии самой базы.
Я бы так не делал. В разных версиях разные баги. Если апгрейдить, то протестировав, что ваши данные это нормально переживут.
да я уже думал об этом моменте, на мастере специально не делали обновление, а слейв не жалко
источник

MP

Maksim Petuhov in ru_mysql
Mb1W@
Запрос показать можете?
insert into r_group (id, group_id, priority) values ('21886','3945','1')
источник

M

Mb1W@ in ru_mysql
Maksim Petuhov
да я уже думал об этом моменте, на мастере специально не делали обновление, а слейв не жалко
Ну апгрейдить надо когда у вас все работает.
Тогда вы сразу поймете, что авпгрейд не помешает.
А так вы не уверены, что ошибка не в разных версиях.
источник

MP

Maksim Petuhov in ru_mysql
Mb1W@
Запрос показать можете?
insert into r_group (r_id, group_id, priority) values ('21886','3945','1')

UNIQUE INDEX tg (r_id, group_id),
источник

M

Mb1W@ in ru_mysql
А сама таблица r_group как выглядит на обоих серверах?
источник

MP

Maksim Petuhov in ru_mysql
Mb1W@
Ну апгрейдить надо когда у вас все работает.
Тогда вы сразу поймете, что авпгрейд не помешает.
А так вы не уверены, что ошибка не в разных версиях.
пока я на это тоже ссылаюсь и есть вариант откатить слейв (с переустановкой) до 10.2.15
но нужно объяснение, а change log не нашел, что могло повлиять
источник