Такая ошибка в Mysql происходит по причине того, что на реплике уже существует запись, которая пришла с мастера.
При просмотре состояния репликации:
mysql> SHOW SLAVE STATUSG
Вы увидите такую проблему:
Last_SQL_Errno: 1062 Last_SQL_Error: Error 'Duplicate entry '115846' for key 'PRIMARY'' on query. Default database: 'db'. Query: 'INSERT INTO some_table ...
Вариантов решения существует несколько.
Можно заставить Mysql пропустить эту ошибку и продолжить репликацию. Для этого нужно выполнить такой запрос на реплике:
mysql> STOP SLAVE; SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE;
Такой метод стоит использовать только в исключительных ситуациях. Если проблема повторяется, это плохой подход.
Если ошибки возникают периодически, но это не нарушает логику приложения, то можно использовать такую настройку в файле my.cnf (на слейве):
slave-skip-errors = 1062
Это позволит постоянно игнорировать подобные ошибки при репликации.
Проблемы могут быть вызваны тем, что в репликации участвуют таблицы, которые нет необходимости реплицировать.
Их можно исключить используя такую настройку в my.cnf (на мастере):
replicate_wild_ignore_table = playground.%
Все таблицы из базы данные playground не будут участвовать в репликации
Таких инструкций может быть несколько:
replicate_wild_ignore_table = playground.% replicate_wild_ignore_table = data.temp_%
Кроме базы playground, будут также исключены все таблицы которые начинаются на “temp_” из базы data
Этот текст был написан несколько лет назад. С тех пор упомянутые здесь инструменты и софт могли получить обновления. Пожалуйста, проверяйте их актуальность.
Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…
Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…
Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…
В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…
Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…
Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…