Различия
Показаны различия между двумя версиями страницы.
сети:резервное_копирование_mysql [2013/10/03 10:10] |
сети:резервное_копирование_mysql [2022/04/01 15:08] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Резервное копирование MySQL ====== | ||
+ | Применимость: | ||
+ | Слова для поиска: | ||
+ | |||
+ | ---- | ||
+ | ===== Задача: | ||
+ | |||
+ | При работе сервера баз данных файлы базы данных постоянно открыты на запись и непрерывно модифицируются и скопировать их в таком состоянии невозможно. | ||
+ | |||
+ | Мы используем для резервного копирования мгновенные снимки файловой системы (snapshot) и обходим это обстоятельство. | ||
+ | |||
+ | Однако это не гарантирует сохранение баз данных в согласованном состоянии и иногда приводит к невозможности восстановления работоспособного состояния сервера. Вероятность подобного очень невелика, | ||
+ | |||
+ | |||
+ | ===== Решение: | ||
+ | Для решения этой задачи существуют специальные инструменты. | ||
+ | ==== mysqldump, mysqlhotcopy ==== | ||
+ | |||
+ | Все СУБД имеют в своем составе собственные средства для получения резервной копии (дампа) базы данных. Это mysqldump для mysql, pg_dump для postgresql и т.п. | ||
+ | |||
+ | В качестве одного из возможного варианта решения этой задачи мы рекомендуем использовать утилиту mysqlhotcopy. | ||
+ | |||
+ | Утилита mysqlhotcopy представляет собой Perl-сценарий, | ||
+ | |||
+ | Подробности по ссылкам внизу статьи. | ||
+ | |||
+ | Еще более проработанное решение - утилита **AutoMySQLBackup** | ||
+ | |||
+ | |||
+ | ==== AutoMySQLBackup ==== | ||
+ | |||
+ | AutoMySQLBackup с базовой конфигурации может создавать ежедневные, | ||
+ | |||
+ | Прочие | ||
+ | * Уведомление по электронной почте | ||
+ | * Сжатие и шифрование копий | ||
+ | * Управление правилами ротации | ||
+ | * Инкрементальные резервные копии | ||
+ | |||
+ | **Порядок установки в CentOS:** | ||
+ | |||
+ | 1. Скачайте | ||
+ | |||
+ | **Например: | ||
+ | mkdir ~/tmp1 | ||
+ | cd ~/tmp1 | ||
+ | wget http:// | ||
+ | tar -xzf automysqlbackup-v3.0_rc6.tar.gz | ||
+ | ./ | ||
+ | |||
+ | **Порядок установки в Debian / Ubuntu:** | ||
+ | |||
+ | Пакет automysqlbackup есть в репозиториях debian и усттановка производится командой: | ||
+ | |||
+ | apt-get install automysqlbackup | ||
+ | |||
+ | <wrap hi> | ||
+ | </ | ||
+ | |||
+ | 2. Откройте в любимом текстовом редакторе файл | ||
+ | |||
+ | Наиболее важные - имя, пароль и где хранить архивы: | ||
+ | CONFIG_mysql_dump_username=' | ||
+ | CONFIG_mysql_dump_password=' | ||
+ | CONFIG_backup_dir='/ | ||
+ | CONFIG_mail_address=' | ||
+ | |||
+ | Каждый параметр описан в конфигурационном файле, изучите его не спеша. | ||
+ | |||
+ | Большинство параметров закомментировано символом #. Если вас устраивает значение по умолчанию оставьте параметр как есть, если нужно изменить значение, | ||
+ | |||
+ | Уделите внимание разделу " | ||
+ | |||
+ | <WRAP center round info 60%> | ||
+ | Глобальные параметры automysqlbackup в Debian находятся в файле **/ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Запуск automysqlbackup ==== | ||
+ | |||
+ | Если просто выполнить команду **automysqlbackup**, | ||
+ | Если вы создали для каждой базы данных отдельный конфиг, | ||
+ | |||
+ | automysqlbackup -c / | ||
+ | |||
+ | Для выполнения в фоновом режиме, | ||
+ | |||
+ | automysqlbackup -bc / | ||
+ | |||
+ | Пример задания для cron (делать бэкап ежедневно в 4:22): | ||
+ | |||
+ | 22 4 * | ||
+ | |||
+ | <wrap em> | ||
+ | |||
+ | ==== Восстановление базы данных ==== | ||
+ | |||
+ | Если база данных удалена, | ||
+ | |||
+ | mysqladmin -u USER -pPASSWORD create NEWDATABASE | ||
+ | |||
+ | Выберите нужный файл и декопрессируйте его и загрузите в базу данных. В зависимости от выбранного в конфиге automysqlbackup архиватора (компрессора) используйте соответствующую утилиту - gunzip для | ||
+ | |||
+ | Это можно сделать одной командной конструкцией: | ||
+ | |||
+ | Для архивов gzip: | ||
+ | gunzip < / | ||
+ | или так | ||
+ | zcat / | ||
+ | |||
+ | Для архивов bzip2 | ||
+ | bunzip2 < / | ||
+ | или так | ||
+ | bzcat / | ||
+ | |||
+ | |||
+ | ===== Смотрите также: ===== | ||
+ | * [[сети/ | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | ---- | ||
+ | |||
+ | |||
+ | {{tag> |