MySQL - резервное копирование
База данных естественно рекомендует создания резервных копий. Мотивация проста - любой программный или аппаратный сбой может повредить БД. Для однократного резервирования нам потребуется только mysql, для регулярного - любой планировщик (лучше всего - cron) Для создания резервных копий служит утилита mysqldump (входит в состав mysql) Синтаксис для создания копии всех баз данных:
mysqldump -u**пользователь** -p**пароль** --all-databases > /**путь/**mysql_all.sql
где указываются параметры пользователя с правами на чтение всех баз данных и путь куда вы хотите ее сохранить. Для резервного копирования по расписанию я рекомендую следующий код:
mysqldump -u**пользователь** -p**пароль** --all-databases > /**путь/**mysql_all.sql
tar czf /**путь**/mysqldump-`date +%d.%m.%y`.tgz /**путь**/mysql_all.sql
вторая строчка отвечает за создание архива, с именем mysql-текущаядата.tgz таким образом вы получаете ежедневную копию mysql и можете откатится на любой день. Этот код можно добавить в cron двумя путями: 1) создать текстовый файл в директории /etc/cron.daily/ , скопировать туда код и сделать его исполняемым (chmod +x имяфайла) 2) использовать crontab -e для редактирования расписания cron. туда нужно ввести:
0 0 * * * mysqldump -u**пользователь** -p**пароль** --all-databases > /**путь/**mysql_all.sql;tar czf /**путь**/mysqldump-`date +%d.%m.%y`.tgz /**путь**/mysql_all.sql
и сохранить файл :) результат обоих методов одинаков Единственное неудобство - все базы данных сохраняются в одном файле. Избежать этого можно используя создав следующий скрипт:
databases=(`echo 'show databases;' | mysql -u**пользователь** -p**пароль** | grep -v ^Database$`)
for d in "${databases[@]}"; do
if [[ $d != 'tmp' && $d != 'test' ]]
then
echo ${d}
mysqldump -u**_имя_пользователя_** -p**_пароль_** ${d} > /backup/mysql/mysql_day/${d}.sql
fi
done
tar czf /backup/mysql/mysqldump-`date +%d.%m.%y`.tgz /backup/mysql/mysql_day/
предпологается, что вы храните резервные копии в /backup/mysql и существует каталог /backup/mysq/mysql_day
Комментарии:
Нет комментариев.
Пожалуйста войдите или зарегистрируйтесь чтобы оставлять комментарии.