Size: a a a

2020 July 27

MF

Max Fetcher in MySQL
Привет. Всем.
Есть репликация мастер-слэйв
Если на мастере выполняем INSERT ON DUPLICATE KEY UPDATE и оказывается что есть  DUPLICATE KEY, выполняется UPDATE.

Но на слэйве, сразу идет UPDATE без пробы INSERT

Можно как-то это изменить?
источник

ls

løst søul in MySQL
а зачем?
источник

MF

Max Fetcher in MySQL
løst søul
а зачем?
Например если выдает
Slave SQL: Could not execute Update_rows_v1 event on table Can't find record in
источник

ls

løst søul in MySQL
если у тебя слейв такое выдаёт - ты очевидно что-то делаешь не так
источник

MF

Max Fetcher in MySQL
løst søul
если у тебя слейв такое выдаёт - ты очевидно что-то делаешь не так
А если мастер-мастер. Можно обойти этот нюанс ?
источник

ls

løst søul in MySQL
если у тебя на реплике can't find record - у тебя неконсистентная реплика
источник

ls

løst søul in MySQL
ты пытаешься исправить следствие проблемы, а не ее причину
источник

MF

Max Fetcher in MySQL
løst søul
ты пытаешься исправить следствие проблемы, а не ее причину
Согласен, а могла ли возникнут такая ситуация с "can't find record" при мастер-мастер.
Если приложение 1 удалило строку на сервере 1, а другое приложение 2 на сервере 2 добавило через INSERT ON DUPLICATE KEY UPDATE. ?

По идее оно должно было удалится на обоих и добавится вновь, но выпало на 1 can't find record.

Хотя первый раз когда выпало can't find record на 1 сервере, слэйв на нем остановился, временно добавил скип для этой ошибки, перезапустил, порядок при этом же не должен был потеряться?
источник

DE

Denis Efremov in MySQL
løst søul
ты пытаешься исправить следствие проблемы, а не ее причину
Когда успело начаться следствие?
источник

ls

løst søul in MySQL
Max Fetcher
Согласен, а могла ли возникнут такая ситуация с "can't find record" при мастер-мастер.
Если приложение 1 удалило строку на сервере 1, а другое приложение 2 на сервере 2 добавило через INSERT ON DUPLICATE KEY UPDATE. ?

По идее оно должно было удалится на обоих и добавится вновь, но выпало на 1 can't find record.

Хотя первый раз когда выпало can't find record на 1 сервере, слэйв на нем остановился, временно добавил скип для этой ошибки, перезапустил, порядок при этом же не должен был потеряться?
при мастер-мастер не должна, значит скорее всего кто-то записал на слейв
источник

MF

Max Fetcher in MySQL
løst søul
при мастер-мастер не должна, значит скорее всего кто-то записал на слейв
Как раз при мастер-мастер произошло
источник

ls

løst søul in MySQL
в теории может быть и в мастер-мастер, если был лаг реплики
источник

MF

Max Fetcher in MySQL
løst søul
в теории может быть и в мастер-мастер, если был лаг реплики
Локи таблиц могли повлиять ?
источник

ls

løst søul in MySQL
какого вида локи?
источник

MF

Max Fetcher in MySQL
При Duplicate err 1062
источник

ls

løst søul in MySQL
не совсем понимаю при чем тут блокировки таблиц
источник

РГ

Руслан Горбатюк... in MySQL
Приветствую всех, есть агрегирующий запрос рабочий. Но хотелось бы его оптимизировать или применить эмуляцию ранжирования для ускорения. Есть ли идеи?
источник

MF

Max Fetcher in MySQL
løst søul
не совсем понимаю при чем тут блокировки таблиц
can't find record вылезло как раз, когда в репликации мастер-мастер наткнулся на duplicate entry, там где был дубль и подвисло все.
источник

ls

løst søul in MySQL
ну так ты пропустил скорее всего ошибку и у тебя реплика посыпалась
источник

ls

løst søul in MySQL
это к вопросу о том что бездумный пропуск ошибок не есть хорошо
источник