На моем сервере базы данных есть задание cron, которое выполняет резервное копирование всех баз данных таким образом, чтобы их было легко восстановить.
Это примерно так:
0 5 * * * /usr/local/bin/backup.php
Проблема в том, что веб-сайт (использующий этот сервер db) во время этого процесса работает очень медленно. Даже Pingdom отправляет мне предупреждение о том, что веб-сайт недоступен в начале процесса.
Чтобы решить эту проблему, я попробовал это изменение:
0 5 * * * / bin / nice -n 19 /usr/local/bin/backup.php
но, похоже, это не улучшает ситуацию.
Как такое возможно? Вероятно, проблема в том, что сценарий резервного копирования блокирует базу данных. Но если я не заблокирую таблицы, резервная копия может быть несовместимой.
Как бы вы решили проблему в соответствии с этими требованиями? 1. не нужно покупать какое-либо оборудование 2. простота внедрения и обслуживания 3. отсутствие проприетарных решений
Это очень распространенная проблема, и ее можно решить несколькими способами. Один из лучших и наиболее надежных - использование репликации главный / подчиненный. Вкратце:
Преимущество, конечно же, в том, что мастер, обслуживающий ваш веб-сайт, не упускает ни одной детали.