Percona XtraBackup hot database backups ááťáŹá¸áĄáá˝ááş áĄááŻáśá¸áááşáážáŻáá áşááŻááźá áşáááşá á MySQL.
ááąááŹáĄáááşáá°á¸ááźááşá¸ááᯠáááşááŽá¸áááˇáşáĄááŤá áááŹá¸ááťáŹá¸ááᯠááąáŹáˇááşááťááźááşá¸ááážáááŤá áááşáá áá áşáááş áááˇáşáááşááťááşááťáŹá¸ááážááᲠáááşáááşááŻááşááąáŹááşááąááŤáááşá
XtraBackup 2.4 áááŹá¸ááťáŹá¸á áĄáááşáááášáá°ááťáŹá¸ááᯠáááşááŽá¸áááŻááşáááşá InnoDB, XtraDB и Myisam ááŹááŹááťáŹá¸ááąáŤáşáá˝ááş MySQL 5.11á 5.5á 5.6 áážááˇáş 5.7áážááˇáş ááŹááŹááąáŤáşáá˝ááşáááşá¸ áážááááşá percona áĄáá˝ááş á MySQL Ń XtraDB.
áĄáá°áĄááŻááşááŻááşáááş MySQL 8.x ááŹá¸áážááşá¸ááᯠáĄááŻáśá¸ááźáŻáááˇáşááŤáááşá XtraBackup 8.xá á¤ááąáŹááşá¸ááŤá¸áá˝ááşáᏠáá˝áąá¸áá˝áąá¸ááŤáááşá XtraBackup 2.4 á
áĄááááĄáŹá¸ááŹááťááş XtraBackup áᎠutility áᏠááźááˇáşááŹá¸á á˝áŹ load ááŻááşááŹá¸áá˛áˇ backup copy áá˝áą áááşááŽá¸áááŻáˇáĄáá˝ááş áááˇáşááąáŹáşááŤáááŹá¸á ááŹááŹááťáŹá¸áá˝áąááąá¸áá˝áąáá° áĄááąáĄáá˝ááşáááşá¸ááąáŹ á áá áşááťáŹá¸áĄáá˝ááşáááşá¸á
áááşá MySQL ááąááŹááąáˇá áşááťáŹá¸á á áŻá áŻááąáŤááşá¸áĄáá˝ááşáĄá áŹá¸áááş ááááŹáááşáážáŹá¸ááąáŹ (áááşááááşá¸áá áşááŤáááŻááş) ááźá áşááŤá á áśáĄááŻáśá¸ááźáŻáážáŻ áááşášáááŹá፠áĄáááşáááášáá°áá áşááŻááᯠááźááşááźááşáááşáááş áááşááŽá¸áááŻááşááááˇáşáááşáááŻááşááąá áĄáážááŻááşááŻáśá¸ááᯠááźááşáááşááá°áááş áĄááťáááşááťáŹá¸á á˝áŹ ááźáŹááŤááááˇáşáááşá
ustanovka
ustanovka XtraBackup repository ááž apt Percona
áĄáąáŹááşá፠command ááťáŹá¸ááᯠáááşáááŻááşááŻááşááąáŹááşááŤá
wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb
sudo dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb
sudo apt-get update
sudo apt-get install percona-xtrabackup-242. áááşáááşááźáŽá¸ááąáŹááş command ááᯠrun ááŤá xtrabackup -v. áĄáááşááźáąáŹááˇáşáááŻááąáŹáşá utility áááŻááŹááŹááąáŤáşáá˝ááşáážááşáááşá
á˝áŹáĄááŻááşááŻááşááźáąáŹááşá¸ááąááťáŹá
áąáááşáĄááąá¸ááźáŽá¸ááŤáááşá ááááşáĄááąááźááˇáşá á¤áá˛áˇáááŻáˇááąáŹáĄááŹáá
áşááŻááᯠá
ááááşááąáŤáşáá˝ááş ááźáááŤáááş-
xtrabackup: áĄáááĄáážááşááźáŻááŹá¸ááąáŹ server arguments ááťáŹá¸- - datadir=/var/lib/mysql - tmpdir=/tmp - server-id=1 - logbin=/var/log/mysql/mysql-bin.log - innodbbufferpoolsize=16384M - innodbfilepertable=1 - innodbflushmethod=Odirect - innodbflushlogattrxcommit=0 MySQL server 5.7.26 áááŻáĄááźáąááśáááˇáş xtrabackup ááŹá¸áážááşá¸ 2.4.20 Linux (x8664) (ááźááşáááşáážáŻ id: c8b4056)

ááááŻááşáá˝ááˇáşááťáŹá¸á áá˝ááˇáşááźáŻááťááşááťáŹá¸áážááˇáş áĄáá˝ááˇáşáĄááąá¸ááťáŹá¸ááᯠááá°ááŻáśá¸á á˝á˛ááŤá
XtraBackup ááŻááşáááŻááşááááş-
áááşá MySQL ááŹááŹáááŻáˇ ááťáááşáááşááŤá
áááşá¸áá˝ážááşáááŻáˇ áááşááąáŹááşáá˝ááˇáşáážááááşá datadir.
áĄáááşáááášáá°ááᯠáááşááŽá¸ááąáŹáĄááŤá áááşáážááşááŹá¸ááąáŹ áááˇáşáááşááąáŹááşáááŻáˇ ááąá¸áááŻááşáá˝ááˇáşáážááááşá áá áşáážááş-ááŽááą áááşáááąáŹááş
datadir áááŻááŹááŹáá˛á
datadir ááąááŹááąáˇá áşááŹááŹááááşá¸áá˝ážááşááťááşááźá áşáááşá á MySQL data áá˝áąááᯠááááşá¸áááşá¸ááŤáááşá database áĄáŹá¸ááŻáśá¸á table áĄáŹá¸ááŻáśá¸ááᯠáĄá˛ááŽáážáŹ ááŹá¸áážáááŤáááşá distribution áĄááťáŹá¸á áŻáážáŹ Linux áá°áááşá¸áĄáŹá¸ááźááˇáş ᤠdirectory áááş /var/lib/mysql.
target-dir directory áááŻáᏠááŹáá˛á
áá áşáážááş-ááŽááą - á¤áááşáážáŹ áĄáááşááááşá¸ááźááşá¸ááᯠááááşá¸áááşá¸áááˇáş áááşá¸áá˝ážááşááźá áşáááşá
ááąááŹááąáˇá áşáĄááŻáśá¸ááźáŻáá°áááş áĄáááşááááşá¸áááş áááŹá¸ááťáŹá¸áážááˇáş ááąááŹááąáˇá áşááťáŹá¸áĄáá˝ááş áĄáąáŹááşááŤáááşááąáŹááşáá˝ááˇáşáĄáá˝ááˇáşáĄááąá¸ááťáŹá¸ áááŻáĄááşáááş-
áááŹá¸ááťáŹá¸ááᯠááźááşáá˝ááˇáşááźáŽá¸ ááąáŹáˇááşááťááŤá
ááťážáąáŹááşááŹá¸áá°
TableSPACE áááşááŽá¸ááŤá
PROCESS
SUPER
CREATE
áááˇáşáá˝ááşá¸ááŤ
SELECT
configuration ááťáŹá¸
configuration ááťáŹá¸ XtraBackup ááŻáśáážááş MySQL áá˝áąá¸ááťááşáážáŻááťáŹá¸áá˛áˇáááŻáˇ ááźáŻáá°ááąáŹ áá˝áąá¸ááťááşáážáŻááťáŹá¸ááᯠáĄááŻáśá¸ááźáŻá ááŻááşááąáŹááşáááşá
ááŤááŹááŹáááŻáááŻáááŻááá˛
Configuration parameters ááťáŹá¸ááᯠcommand line áá˝ááşááźá áşá áą áááŻáˇáááŻááş DBMS configuration file áá˝ááşááźá áşá áą áĽáááŹáĄáŹá¸ááźááˇáş áááşáážááşáááŻááşáááşá /etc/my.cnf.
XtraBackup utility áááş á áááşááźáŽá¸ááąáŹááş áĄáááşá¸áááˇáşááťáŹá¸ááᯠáááşáááşá [mysqld] и [xtrabackup] MySQL configuration áááŻááşááťáŹá¸áážá áĄáááşáá°á¸áá°áážáŻáá áşááŻá áŽáá˝ááş ááŤááŹááŽááŹááťáŹá¸ááᯠáááŻááşáááŻááşáááşáážááşáááş ááááŻáĄááşáᲠutility áááş áááşá DBMS á áááşáááşááťáŹá¸ááᯠááŻáśá¸áááŻááşá áąáááş áááşá¸ááᯠááŻááşááąáŹááşááŤáááşá
áĽááᏠáááşáááŻá¸ datadir áážááˇáş áĄááťááŻáˇááąáŹ áááˇáşáááşááťááşááťáŹá¸ InnoDB áááşá DBMS áá˝á˛áˇá ááşá¸áážáŻá áá áşááž XtraBackup ááᯠááťá˝ááşáŻááşáááŻáˇ ááážáááŤáááşá
XtraBackup áĄááŻááşááŻááşáááşáĄáá˝ááş áĄáááşá áááşáááş áĄáááŻááşá¸áážá ááąáŹááşááťáŹá¸ááᯠááťáąáŹáşáá˝ááşáááŻááŤáááşá [mysqld]áááŻáˇááąáŹááş áááşá¸áááŻáˇááᯠáĄáááŻááşá¸áážá áá˝á˛áˇá ááşá¸áážáŻáááŻááşáá˝ááş áááşáážááşááąá¸ááŤá [xtrabackup]. ááąáŹááşáážáááşáááąáŹáˇáážáŹáááŻáˇ áá°áááŻáˇáá˛áˇ áŚá¸á áŹá¸ááąá¸á áááŻááźááˇáşááŹáááşá
áááşáááˇáş parameters áážáááˇáşáááşááááŻáĄááşááŤá my.cnf. áááŻáĄááşááąáŹ parameter áĄáŹá¸ááŻáśá¸ááᯠcommand line áá˝ááşáááşáážááşáááŻááşáááşá ááťáŹá¸ááąáŹáĄáŹá¸ááźááˇáş áĄáááşááźáąá á˝áŹ ááŹá¸áážááááŻááşááąáŹ áá áşááŻáááşá¸ááąáŹ áĄááŹáážáŹ áĄáááŻááşá¸ááźá áşáááşá [xtrabackup] áááşáˇáá˛áˇ my.cnf áááˇáşáááşááťááşáá áşááŻááźá áşáááşá áá áşáážááş_ááŽááŹáááŻááşáá˝á˛ááťáŹá¸ááŹá¸áážááááˇáş áááşá¸áá˝ážááşááᯠáá°áááşá¸áĄáŹá¸ááźááˇáş áááşáážááşááąá¸ááŤáááşá ááŤááąáááˇáş ááŤá áá˝áąá¸ááťááşáá˝ááˇáşááŤá
áĄáááşáááášáá°ááźááˇáş áááşá¸áá˝ážááşáááŻáˇ áááşá¸ááźáąáŹááşá¸ááᯠáááşáážááşááźááşá¸ áĽááᏠmy.cnf:
[xtrabackup]
target_dir = /data/backups/mysql/Backup ááŹááşáá˝ážááşá¸
áĄáááşáá°á¸áá°áááşááŽá¸áááş áĄáąáŹááşá፠script ááᯠáááşáĄááŻáśá¸ááźáŻáááŻááşáááş-
#!/bin/bash
# УдаНŃоП даннŃĐľ в каŃаНОго йокапа
rm -rf /mysql/backup
# CОСдаŃĐź йокап
xtrabackup --user=xtrabackup
--password=xxxx_SECRET_xxxx
--backup
--target-dir=/mysql/backup
# ĐŃпОНнŃоП пОдгОŃĐžĐ˛ĐşŃ ĐąĐľĐşĐ°ĐżĐ° Đ´ĐťŃ ŃаСвŃŃŃŃваниŃ
xtrabackup --prepare --target-dir=/mysql/backup
# ХОСдаŃĐź аŃŃ
ив
tar -zcvf /home/developer/dumps/xtrabackup-all-dbs-"$(date +%F-%H:%M:%S)".gz /mysql/backupááŹááşáá˝ážááşá¸ááąá¸ááąá ááşáĄáá˝ááşá¸ ááŹááźá áşáá˝áŹá¸ááá˛á
ááááŚá¸á á˝áŹá ááťá˝ááşáŻááşáááŻáˇáááş áĄáááşáááášáá°ááᯠááááşá¸áááşá¸áááˇáş áááşá¸áá˝ážááşááᯠáážááşá¸ (ááťááş) áááş-
rm -rf /mysql/backup.
áááŻáˇááąáŹááş utility ááᯠáĄááŻáśá¸ááźáŻ XtraBackup áĄáááşáááášáá°áá áşááŻááᯠáááşááŽá¸ááźáŽá¸ ááááşá¸áááşá¸ááŤá /mysql/backup/:
xtrabackup --user=xtrabackup --password=xxxxz1cYf95550Gc6xxxxxxxpE3rB03xxxx --backup --target-dir=/mysql/backupááááşá ááťá˝ááşáŻááşáááŻáˇáááş MySQL áá˝ááş áĄááŻáśá¸ááźáŻáá°áá
áşáŚá¸ááᯠáááşááŽá¸áá˛áˇáááşá xtrabackup áááŻáĄááşááąáŹáĄáá˝ááˇáşáĄááąá¸ááťáŹá¸áážááˇáşáĄáá°á parameter áááŻáĄááŻáśá¸ááźáŻááźááşá¸á target-dir áĄáááşááááşá¸áááşá¸áááˇáşáááˇáş áááşá¸áá˝ážááşááᯠááťá˝ááşáŻááşáááŻáˇ áááşáážááşááąá¸ááŤáááşá
áĄááąá¸ááźáŽá¸ááąáŹáĄááťááş!
ááŹááşáá˝ážááşá¸áááŻááşá¸ááᯠáážááşááŹá¸ááŤ-
xtrabackup --prepare --target-dir=/mysql/backup
áááşáááąáŹááşááąáᏠ/mysql/backup ááťááşááźáŻááşáááşáĄáá áááááşáááşá¸áááźá áşááŤá
áĄáážááşáážáŹ áááŻááşááťáŹá¸ááᯠáá°á¸áá°ááŹáá˝ááş áĄááźáąáŹááşá¸áĄáá˛ááťáŹá¸ ááźá
áşááąáŤáşáááŻááşáááşá á
á
áşáááşááąá¸ xtrabackup --prepare --target-dir=/mysql/backup áĄáááşááąááŹááᯠáĄááťáááşááźáŹááŹáááşáážááˇáşáĄááťáž áááááşáááşá¸ááźá
áşá
áąáááşá
áááşáááˇáşá ááşáá˝ááşáááᯠááąááŹááźááşáááşáážáŻááŻááşááąáŹááşáážáŻááᯠáááşááŻááşááąáŹááşáááŻááşáááşá áĄáááşá¸áĄááźá áş DBMS áááşáážááᏠááŹááŹáá˝ááş áááşá¸ááᯠááŻááşááąáŹááşáááş ááááŻáĄááşááŤá áĄáááşáá°á¸áá°áážáŻááᯠáá áşáážááşááŹááŹáááŻáˇ áá°á¸áá°ááźáŽá¸ áááşá¸ááᯠáááŻááąááŹáá˝ááş ááźááşáááşáááŻááşáááşá
ááťá˝ááşáŻááşáááŻáˇá ááąáŹááşááŻáśá¸áĄááŹáážáŹ ááťá˝ááşáŻááşáááŻáˇá áĄáááşááááşá¸ááźááşá¸ááᯠááŹá¸áážááááˇáş ááąáŹáşáá˝ááşá¸áááŻááşáá áşáᯠáááşááŽá¸ááźááşá¸ááźá áşáááş-
tar -zcvf /home/developer/dumps/xtrabackup-all-dbs-ÂŤ$(date % F% H% M% S)Âť.gz /mysql/backupáĄáááşááááşá¸ááźááşá¸ááᯠááźááşáááşááá°ááźááşá¸á
áá áşáážááşááŹááŹáááŻáˇ áĄáááşáá°á¸áá°ááźááşá¸ááᯠáááşááźááşáááşáááŻááşááąáŹááşááŽá ááąááŹáááş ááźááşáááşáážáŻáĄáááˇáşááᯠááźááşáááşá¸ááááşááźá áşáááşá ááŤáááŻááŻááşáááşá¸ááᯠáĄááąáŤáşáááźááˇáşááŤá
ááąááŹáááşáááşááąá¸ááŻááşáááşá¸á ááşáááş áĄáá˝ááşáááŻá¸áážááşá¸ááŤáááşá áááşáááş áážááşáááşá¸ááąáŹááşá¸ááž áĄáááşáá°á¸áá°áážáŻááᯠááŻááşáá°ááźáŽá¸ ááąááŹááᯠáĄá áŹá¸áááŻá¸áááş áááŻáĄááşáááşá datadir.
datadir áážáŹ ááąááŹááᯠáááşáááŻáĄá áŹá¸áááŻá¸ááá˛á
áá˝áąá¸ááťááşá ááŹáážá áşááŻááᯠá ááşá¸á áŹá¸ááźááˇáşááĄáąáŹááşá
option ááᯠ1
utility áááŻááŻáśá¸ááŤá XtraBackup. áááşáá˝áąá¸ááťááşáážáŻáá áşááŻáááşáážááşáááşáááŻáĄááşáááşá --copy-back.
áĄáąáŹááşááąáŹáşááźá፠command áááş áĄáááşááᯠáá˝ážá˛ááźáąáŹááşá¸ááąá¸áááşááźá áşáááşá datadir áá áşáážááşááŹááŹ-
xtrabackup --copy-back --target-dir=/mysql/backupoption ááᯠ2
áĄááŻáśá¸áááşáážáŻááážááá˛áááşááá˝á˛ááźáŹá¸ááźáŹá¸ááŹá¸á á˝áŹááźáŻááŻááşáááŻááşáááşá XtraBackup.
áááşááŻááşáááşáááŻáĄááşáááşáážáŹ áááášáá°áá°á¸áááşááźá áşáááşá datadir. áááşá¤áĄáá°ááŻááşáááŻááşááŤáááşá cp áááŻáˇáááŻááş rsync.
áĄáááşáá°á¸áá°ááźááşá¸ááᯠááźááşáááşááá°ááźááşá¸ááŻááşáááşá¸á ááşáááş áááşá¸áá˝ážááşááĄááźáąáŹááşá¸áĄááŹááťáŹá¸ááᯠáĄá áŹá¸áááŻá¸ááŻáśááźááˇáş ááźáŻááşáá˝áŹá¸áááşááᯠááŹá¸áááşáááş áĄááąá¸ááźáŽá¸ááŤáááşá datadir.
áá áşáážááşááŹááŹáá˝ááş áĄáááşáá°á¸áá°ááźááşá¸ááᯠáááşá áááşááźááşá¸áááźáŻááŽá áááşáááş-
MySQL ááŹááŹááᯠáááşááŤá
áááŻááşáá˝á˛ááᯠáážááşá¸áááşá¸ááŤá datadir áááŻáˇáááŻááş áááşá¸ááĄááźáąáŹááşá¸áĄááŹááťáŹá¸ááᯠáĄááźáŹá¸ááąááŹáááŻáˇ áá˝ážáąáˇááŤá áááşáááąáŹááş datadir áááŹááźá áşááááşá
ááźáŽá¸áá˝áŹá¸áááş data áá˝áąááᯠáá˝ážá˛ááąá¸áááŻááşááŤá datadir MySQL server áááŻá áááşáááŻááşááŤáááşá
áĄááŻáśá¸ááźáŻááąáŹáá ášá ááşá¸ááťáŹá¸
.
source: www.habr.com
