Назад | Перейти на главную страницу

Выполнение дампа mysql вызывает проблемы с подкачкой

Каждую ночь делаю mysqldump вручную.

Я только что заметил, что после того, как это сделано, и я пытаюсь получить доступ к веб-сайту, это очень медленно. После того, как я взглянул на команду free -mh, я заметил, что сервер теперь меняет местами, хотя раньше этого не было до mysqldump.

Что мне делать в этом случае? Просто перезагружать сервер каждый раз при резервном копировании? Это кажется не очень эффективным.

Размер моего файла базы данных составляет 1,1 ГБ после дампа.

Мы сбрасываем гораздо большие базы данных MySQL каждую ночь без каких-либо проблем с подкачкой. Вот выполняемая командная строка:

mysqldump --host = $ HOST -u $ USER --password = $ PASSWORD --max_allowed_packet = 512M --port = 3306 --single-transaction --skip-add-locks --quick -e имя базы данных

Вы включаете опцию «--quick»? Это предотвращает получение mysqldump больших таблиц за один запрос. Это может быть то, что заставляет ваш сервер менять местами. Это заставляет mysqldump получать большие таблицы построчно.

Если вы не укажете параметр --quick для mysqldump, сервер будет буферизовать весь ответ перед его отправкой клиенту, что может легко вызвать обмен с большими таблицами.

Кроме того, если вы сохраните дамп на хосте, на котором запущен сервер, он может бороться с mysqld за кеш. Попробуйте использовать --quick и запустить mysqldump по сети, если вы еще не делаете эти две вещи.

Удачи!

Mysqldump блокирует все необходимые таблицы во время резервного копирования, попробуйте вместо этого использовать mysqlhotcopy.

Похоже, mysqldump загружает в кеш гораздо больше данных, чем необходимо. В любом случае, если ваш сервер меняет местами, у вас, вероятно, установлены слишком высокие значения кеша.

Попробуйте бежать SHOW GLOBAL STATUS до и после дампа и сравните значения

Также попробуйте перезапустить mysql после дампа. Если это поможет, это может быть связано с кешем