Форумы

GNU.SU - Записки нубо-линуксойда :: Форумы :: Сервисы :: SQL
 
<< Предыдущая тема | Следующая тема >>
Резервное копирование (backup) всех баз mysql
Модераторы: tastelinux, Frizze, andrey, Bender
Автор Добавил
andrey
Птн Авг 27 2010, 12:53

ID пользователя #2
Зарегистрирован: Срд Май 05 2010, 10:56

Сообщений: 69
Прошелся по нескольким блогам. почитал и удивился тому что для того чтобы сделать дампы всех баз mysql люди используют mysqldump –all-databases. На мой взгляд вариант более чем неудобный.

Предложу более правильный вариант, снимаются дампы со всех баз данных каждая база в отдельный файл. Для пояснения:
/backup/mysql/ – папка куда будем складывать дампы.
megapass – пароль tastelinux к mysql

итак собственно сам скрипт:
for i in `mysql -psuperpass -e'show databases;' | grep -v information_schema | grep -v Database`; do mysqldump -psuperpass $i > `date +%Y-%m-%d`-$i; gzip `date +%Y-%m-%d`-$i;done


теперь поясню что делается, в цикле вывода имен всех баз данных кроме information_schema и Database выполняется mysqldump в файл дата-имя_базы, затем дамп жмется gzip-ом.

На выходе получаем пачку файлов на подобии:
2009-02-11-andreika_kayako.gz
2009-02-11-andreika_mantis.gz
2009-02-11-andreika_openfire.gz

Например если в системе несколько пользователей и базы данных у них сделаны правильно (имя базы с префиксом имени пользователя, например andreika_base), то можно делать бакапы баз разных пользователей в разные папки. С полученными бакапами можно поступать как удобно, хранить на отдельном диске, разделе. внешнем ftp сервере или заливать куда-то по scp.

Взято тут: ITBLOG
Наверх
mysql backup script   backup mysql all databases   бекапирование MySQl   

 

Перейти:     Наверх

Транслировать сообщения этой темы: rss 0.92 Транслировать сообщения этой темы: rss 2.0 Транслировать сообщения этой темы: RDF
Powered by e107 Forum System