Backup баз данных MySql
Итак, prerequisites:
- сервер на CentOS (хотя неважно - любой FreeBSD, Linux подойдет);
- запущенный mysql со стандартными настройками и кучей баз от разных пользователей;
- базы хранятся в /var/lib/mysql/. Там куча каталогов по пользователям, в каждом файлы MYD/MYI/frm
Известно, что если делать копирование файлов с живым сервером MySql ничего хорошего не выйдет, т.к. файлы будут "битыми". Нужно или тушить сервер (не годится) и копировать файлы, или придумывать хитрый способ слить базу в файл бекапа (напр., сделать выгрузку из базы).
Задача:
- Требуется обеспечить прозрачное резервирование баз данных mysql
- При этом нельзя сервер mysql остановить.
- Бекап необходимо производить с определенной регулярностью (возьмем, раз в неделю) в определенный каталог.
- Старые резервные копии можно не удалять: места достаточно.
Вот. В общем, такая вот задачка.
Источник: Stack Overflow на русском