[an error occurred while processing this directive]

Резервное копирование MySQL с использованием LVM снапшотов в Debian Linux
Утилита mylvmbackup (http://lenz.homelinux.org/mylvmbackup/) позволяет
автоматизировать создание резервных копий БД MySQL с минимальным временем
простоя базы. Процесс создания бэкапа состоит из следующих фаз: установка
блокировки на таблицы, инициирование сброса кэшей на диск, создание LVM
снапшота директории с MySQL таблицами, снятие блокировки. Так как время
создания снапшота очень мало, простой базы сводится к минимуму при полном
сохранении целостности.

Пример использования утилиты для системы на которой уже работает MySQL,
директория с БД (/var/lib/mysql) размещена на LVM разделе и в системе доступен
раздел /dev/sdb на котором достаточно для создания временных LVM снапшотов.

   # df -h
   ...
   /dev/mapper/server1-mysql  8.9G  170M  8.3G   2% /var/lib/mysql

Имя LVM группы server1, имя раздела с данными MySQL - mysql.

   # pvdisplay
   --- Physical volume ---
   PV Name               /dev/sda5
   VG Name               server1
   PV Size               29.52 GB / not usable 3.66 MB
   ...
 
   # vgdisplay
  --- Volume group ---
  VG Name               server1
  System ID
  Format                lvm2
  ...

   # lvdisplay
  --- Logical volume ---
  LV Name                /dev/server1/mysql
  VG Name                server1
  ...

Диск /dev/sdb имеет один раздел /dev/sdb1, занимающий все пространство диска.
Подключаем его к имеющемуся LVM группе server1 с целью увеличения свободного
места, которое потребуется для работы со снапшотами. Дополнительные LVM разделы
создавать не нужно.

   # pvcreate /dev/sdb1
   # vgextend server1 /dev/sdb1

Устанавливаем пакет mylvmbackup:

   # aptitude install mylvmbackup

Изучаем руководство по mylvmbackup и при необходимости меняем файл конфигурации
/etc/mylvmbackup.conf под свои нужды:

   $ man mylvmbackup


По умолчанию бэкапы будут сохраняться в директорию /var/cache/mylvmbackup/backup.

Простейшая команда для создание резервной копии (параметры можно указать в
файле конфигурации) MyISAM таблиц:

   mylvmbackup --user=root --password=пароль --mycnf=/etc/mysql/my.cnf \
      --vgname=server1 --lvname=mysql --backuptype=tar

Пример для InnoDB таблиц:

   mylvmbackup --user=root --password=пароль --innodb_recover --skip_flush_tables \
      --mycnf=/etc/mysql/my.cnf --vgname=server1 --lvname=mysql --backuptype=tar

В опции --vgname указываем имя LVM группы, а в опции --lvname имя LVM раздела с данными.


После выполнения команды проверяем корректность создания резервной копии:

   ls -l /var/cache/mylvmbackup/backup

   -rw-r--r-- 1 root root 246847 2010-01-27 19:17 backup-20100127_191658_mysql.tar.gz

В созданном  tar.gz файле находятся две директории: 

backup с архивом таблиц, который можно просто распаковать в рабочую директорию
/var/lib/mysql при проведении восстановления данных.
backup-pos с копией файла конфигурации my.cnf.
 
05.02.2010 , Источник: http://www.howtoforge.com/how-to-ba...
Ключи: mysql, backup, snapshot / Лицензия: CC-BY
Раздел:    Корень / Программисту и web-разработчику / SQL и базы данных / MySQL специфика / Оптимизация и администрирование MySQL

[an error occurred while processing this directive]

[an error occurred while processing this directive]