Резервное копирование (backup) баз MySQL

Полезности
Попался мне на просторах интернета один из скриптов для создания бэкапов баз данных, в чем его плюс – создает отдельный архив под каждую базу данных, в отличии от стандартного mysqldump с ключем –all-databases который пишет все базы в один файл для меня получается не совсем правильный бэкап, т.е мне это ни подходит.По мне лучше каждая база -отдельный файл.
В любом случаи желательно сделать пользователя от которого будем делать бекапы, из прав дадим ему права на просмотр баз,SELECT и Lock Tables, я приведу пример как создать из командной строки:

$ mysql -pПАРОЛЬ

-p, –password=[password] – Пароль пользователя, для соединения с сервером MySQL. Не должно быть пробела между -p и паролем.
-u, –user=[user] – Имя пользователя для соединения с сервером MySQL. Необязательно, по умолчанию используется такое же, как ваш логин.Используется если логин отличается от имени пользователя для соединения с сервером MySQL.

$ mysql> CREATE USER ‘back’@'localhost’ IDENTIFIED BY ’123456′;
Query OK, 0 rows affected (0.02 sec)
$ mysql> GRANT SELECT , LOCK TABLES ON * . * TO ‘back’@'localhost’ IDENTIFIED BY ’123456′;
Query OK, 0 rows affected (0.00 sec)

для примера пользователь back и его пароль 123456

И для общего развития предложу один из вариантов с использованием mysqldump, может кому пригодиться:
$ mysqldump -uback -p123456 --all-databases | gzip -c > `date "+%Y-%m-%d"`.bz2

все базы данных и сжатие данных на ходу

Теперь сам найденный скрипт:
#!/bin/bash
mkdir ~/mysql_backup/`date +%e-%B`
cd ~/mysql_backup/`date +%e-%B`
for i in `mysql -u %USER% -p%PASSWORD% -e’show databases;’ | grep -v information_schema | grep -v Database`; do mysqldump -u %USER% -p %PASSWORD% $i > `date +%Y-%m-%d`-$i; bzip2 -9 `date +%Y-%m-%d`-$i;done

так же не забываем поменять %USER% на пользователя, которого вы создали для бэкапов, и %PASSWORD% на его пароль.

Так же можно использовать довольно интересный и бесплатный скрипт – “Sypex Dumper”

Теперь для полноты автоматизации можно один из понравившихся вариантов зафигачим в cron
источник
www.linuxjournal.su/?p=1064

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.