Меня в одном проекте стала донимать немного странная ошибка, с которой никак не получалось справиться. Время от времени не выполнялся бэкап базы данных с помощью обычного дампа в mysqldump. Дамп падал с ошибкой: "mysqldump: Error 1412: Table definition has changed, please retry transaction when dumping table". Рассказываю, как я ее победил.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.
Ошибка была связана всегда с одной и той же таблицей. По тексту ошибки примерно понятно, в чем ее суть. Во время бэкапа таблица меняется и это приводит к проблемам. Не понятно только, как ее победить. Проще всего было бы включить блокировку таблиц во время дампа, но это не подходящая в моем случае идея. База дампится секунд 10-15. Нельзя заблокировать таблицы на это время.
Возникать подобная ошибка может в двух случаях:
- Таблицы не существовало на момент старта бэкапа, а потом в процессе она появилась.
- Таблица существовала до начала бэкапа, а затем ее удалили до того, как успели забэкапить.
В моем случае работал отдельный модуль сайта, который постоянно создавал, изменял, удалял эту таблицу. Немного разобравшись в том, что там за данные хранятся, я понял, что их можно не бэкапить. В итоге добавил эту таблицу в исключения, чтобы не добавлять в дамп. Достаточно добавить еще один ключ к mysqldump.
--ignore-table=vdakernel.b_xml_tree_import_1c
Проблема исчезла. Более подробно о том, как я выполняю бэкап баз данных mysql с помощью mysqldump можно почитать в отдельной статье. Там не только про сами дампы рассказано, но и том, как их потом проверять через систему мониторинга.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.