17 января, 2012

Памятка по XtraBackup

Как быстро склонировать базы данных с одного сервера на другой и поднять реплику:

Чистим старый инстенс mysql на ведомом сервере:

slave # cd /var/lib/mysql/
slave # rm -rf *
slave # mysql_install_db

Копируем БД:

master # innobackupex-1.5.1  --defaults-file=/etc/mysql/my.cnf --slave-info --stream=tar ./ | pv | ssh root@slave "tar ixf - -C /var/lib/mysql/ "

Это вариант для ленивых, если не жалко времени - можно через nc перекинуть. pv можно и не использовать, но медитировать на процесс с ним приятнее. Для распаковки tar обязательно нужно запускать с опцией -i, иначе извлечь из архива получится только один файл (см. man tar). Во FreeBSD извлечь файлы можно с помощью GNU tar.

Восстанавливаем БД, запускаем сервер:

slave # innobackupex-1.5.1 --apply-log  --defaults=/tmp/my.cnf --use-memory=10G ./
slave # /etc/rc.d/mysql-server start

Настраиваем реплику, метки лежат в xtrabackup_binlog_info.

Комментариев нет:

Отправить комментарий