We are happy to announce that Vesta is back under active development as of 25 February 2024. We are working on v1 candidate and expect to engage more with the community over the coming months. We are committed to open source, and we encourage contributors to help us build the future of Vesta.
Решение проблемы backup mysql
Решение проблемы backup mysql
Столкнулся недавно с проблемой бэкапов, внезапно перестал делаться бэкап одного сайта и только по mysql. Ничего не делал ни в панели, ни в mysql, ни где либо ещё, просто вот перестал работать и всё. Выяснилось, что при создании бэкапа БД команда выдаёт
Причём нигде в логах или консоли эта ошибка не выводилась, нашел опытным путём расковыряв скрипт бэкапа и повторив команду дампа, а выгляди она так
Я пробовал увеличивать в my.conf и в секции mysqld и в секции mysqldump max_allowed_packet, но результат это не дало, т.е. при запросе в pma эта переменная выводится правильно, но дамп так и не делается выдавая ошибку 2020.
Я так понимаю, что при дампе мы передаём конфиг --defaults-file где прописаны только логин, пароль, хост, а остальные параметры берутся по дэфолту при дампе, по этому и игнорируются наш конфиг my.conf. Решил пробему добавив параметр --max_allowed_packet=512M в команду в скрипте.
Файл /usr/local/vesta/func/db.sh строка 47(у меня по крайней мере), функция mysql_dump(). Найти
и отредактировать чтобы получилось
При редактировании скриптов надо помнить, что если ваш редактор поменяет формат переноса строк с Unix(LF) и/или кодировку файла с UTF8 можно встретить проблемы, так что будьте аккуратны, если опыта в этом деле не имеете, лучше пользоваться консольным редактором, хотя бы mcedit или на крайняк npp контролируя эти параметры.
Надеюсь кому-то будет полезным.
Code: Select all
mysqldump: Error 2020: Got packet bigger than 'max_allowed_packet' bytes when dumping table `table_name` at row: 3369
Code: Select all
mysqldump --defaults-file={конфиг /usr/local/vesta/conf/.mysql.localhost} --single-transaction -r {путь_куда_положить} {имя_бд}
Я так понимаю, что при дампе мы передаём конфиг --defaults-file где прописаны только логин, пароль, хост, а остальные параметры берутся по дэфолту при дампе, по этому и игнорируются наш конфиг my.conf. Решил пробему добавив параметр --max_allowed_packet=512M в команду в скрипте.
Файл /usr/local/vesta/func/db.sh строка 47(у меня по крайней мере), функция mysql_dump(). Найти
Code: Select all
mysqldump --defaults-file=$mycnf --single-transaction -r $1 $2 2> $err
Code: Select all
mysqldump --defaults-file=$mycnf --max_allowed_packet=512M --single-transaction -r $1 $2 2> $err
Надеюсь кому-то будет полезным.