Simple DB backup
Материал из BiTel WiKi
(Различия между версиями)
D71 (Обсуждение | вклад) (Новая страница: «<small>Большое спасибо пользователю '''ok-2004''' с форума битела за помощь</small> Используем [http://www.…») |
D71 (Обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
<small>Большое спасибо пользователю '''ok-2004''' с форума битела за помощь</small> | <small>Большое спасибо пользователю '''ok-2004''' с форума битела за помощь</small> | ||
+ | |||
+ | '''UPDATE:''' Схема проверена и годится для переноса DB на другой сервер. | ||
Используем [http://www.percona.com/software/percona-xtrabackup Percona XtraBackup] <br /> | Используем [http://www.percona.com/software/percona-xtrabackup Percona XtraBackup] <br /> |
Версия 03:00, 14 марта 2014
Большое спасибо пользователю ok-2004 с форума битела за помощь
UPDATE: Схема проверена и годится для переноса DB на другой сервер.
Используем Percona XtraBackup
Собирать и компилить ничего не надо - качаем binary, просто кидаем содержимое в каталог типа /usr/sbin/ что бы пути не писать.
cat /etc/rc.d/rc.full.backup
#!/bin/bash s_date=`date "+%Y-%m-%d_%H-%M-%S"` s_date_log=$s_date'_log' innobackupex \ --defaults-file=/var/lib/mysql/my.cnf.b \ --no-lock \ --no-timestamp \ --ibbackup=/usr/bin/xtrabackup_55 \ --user=root \ --password=mypassword \ /var/BACKUP/$s_date > /var/BACKUP/$s_date_log 2>&1 cp /var/lib/mysql/my.cnf /var/BACKUP/$s_date tar -cvzf /var/BACKUP/$s_date.tar.gz /var/BACKUP/$s_date >/dev/null 2>&1 rm -rf /var/BACKUP/$s_date
внимание на my.cnf.b - это тот же my.cnf, только пути проставлены полные, типа:
datadir=/var/lib/mysql/db
innodb_data_home_dir = /var/lib/mysql/db
innodb_log_group_home_dir = /var/lib/mysql/log
Перед восстановлением, развернув из архива, бекап надо подготовить:
cat prepare.backup.sh
#!/bin/bash log=$1'_log' innobackupex \ --use-memory=1G \ --defaults-file=/var/lib/mysql/my.cnf.b \ --apply-log \ --ibbackup=xtrabackup_55 \ --user=root \ --password=mypassword \ /var/BACKUP/$1 > /var/BACKUP/$log 2>&1
Само восстановление проводить лучше уже руками:
бездумно не стоит копировать эти строки
#/etc/init.d/mysql stop #rm -rf /var/lib/mysql/db #mkdir /var/lib/mysql/db #cp -av /var/BACKUP/full/bgbilling /var/lib/mysql/db #cp -av /var/BACKUP/full/mysql /var/lib/mysql/db #cp -av /var/BACKUP/full/performance_schema /var/lib/mysql/db #cp -av /var/BACKUP/full/ibd* /var/lib/mysql/db #chown -R mysql:mysql /var/lib/mysql/db #chown -R mysql:mysql /var/lib/mysql/log #chmod -R 775 /var/lib/mysql/ #/etc/init.d/mysql start