Percona XtraBackup ืืื ืืื ืขืืจ ืืืืืืืื ืืืื ืฉื ืืกืื ื ืชืื ืื MySQL.
ืืขืช ืืฆืืจืช ืืืืื ื ืชืื ืื, ืืื ืืืืืืช ื ื ืขืืืช, ืืืืขืจืืช ืฉืื ืืืฉืืื ืืคืขืื ืืื ืืืืืืช ืืืฉืื.
XtraBackup 2.4 ืืืื ืืืฆืืจ ืขืืชืงื ืืืืื ืฉื ืืืืืืช InnoDB, XtraDB ะธ MyISAM ืขื ืฉืจืชืื MySQL 5.11, 5.5, 5.6 ื-5.7, ืืื ืืฉืจืช ืคืจืงืื ื ืขืืืจ MySQL ั XtraDB.
ืืขืืื ืขื MySQL 8.x ืืฉ ืืืฉืชืืฉ ืืืจืกื XtraBackup 8.x. ืืืืืจ ืืื ืืืืจ ืจืง ืขื XtraBackup 2.4.
ืืืชืจืื ืืขืืงืจื XtraBackup ืืื ืฉืฉืืจืืช ืื ืืชืืื ืื ืืืฆืืจืช ืืืืืืื ืฉื ืฉืจืชืื ืืขืื ืื ืืืื ืืื ืืืขืจืืืช ืขื ืืกืคืจ ื ืืื ืฉื ืขืกืงืืืช.
ืื ืืืืื ืืืืื ืฉื ืืกืื ืื ืชืื ืื ืฉื MySQL ืืื ืืฉืืขืืชื (ืขืฉืจืืช ืืืื-ืืืื), ืื ืืื ืืฉืืจืืช ืืกืื ืืจืื mysqldump ืื ืืืคืฉืจ ืื ืืืฆืืจ ืืืืืจืืช ืขืืชืง ืืืืื, ืืฉืืืืจ ื-dump ืืืงื ืืจืื ืืื.
ืืชืงื ื
ืืชืงื ื XtraBackup ืืืืืืจ ืึทืชึฐืึดืื ืคืจืงืื ื.
ืืคืขื ืืช ืืคืงืืืืช ืืืืืช ืืจืฆืฃ:
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-24
2. ืืืืจ ืืืชืงื ื, ืืคืขื ืืช ืืคืงืืื xtrabackup -v
. ืืื, ืืฉืื ืืืืื ืื ืืฉืืจืืช ืคืืขื ืืืืื ืขื ืืฉืจืช. ืืชืืฆืื ืืื, ืืฉืื ืืื ืืืฆื ืขื ืืืกื:
xtrabackup: ืืจืืืื ืืื ืฉื ืฉืจืช ืืืืืื: - datadir=/var/lib/mysql - tmpdir=/tmp - server-id=1 - logbin=/var/log/mysql/mysql-bin.log - innodbbufferpoolsize=16384M - innodbfilepertable=1 - innodbflushmethod=Odirect โ innodbflushlogattrxcommit=0xtrabackup ืืจืกื 2.4.20 ืืืืกืกืช ืขื MySQL ืฉืจืช 5.7.26 Linux (x8664) (ืืืื ืืจืกื: c8b4056)
ืืืืืืช ืืืฉื, ืืจืฉืืืช ืืืจืฉืืืช
XtraBackup ืืืืจ ืืืืืช ืืกืืื:
-
ืืชืืืจ ืืฉืจืช MySQL ืฉืื.
-
ืืฉ ืืืืืืช ืืืฉื ืืกืคืจืืื ืืืืืืืจ.
-
ืืขืช ืืฆืืจืช ืขืืชืง ืืืืื, ืืฉ ืืืืืืช ืืชืืื ืืคืจืืืจ ืฉืฆืืื target-dir ืงึธืึธืืึนื.
ืื ืื datadir?
ืืืืืืืจ ืืื ืืกืคืจืืื ืฉืื ืฉืจืช ืืกื ืื ืชืื ืื MySQL ืืืืกื ื ืชืื ืื. ืื ืืกืื ืื ืชืื ืื, ืื ืืืืืืืช ื ืืฆืืื ืฉื. ืืจืื ืืืคืฆืืช ืฉื ืืื ืืงืก, ืกืคืจืืืช ืืจืืจืช ืืืืื ืืื /var/lib/mysql.
ืืื ืกืคืจืืืช target-dir?
target-dir - ืืืื ืืกืคืจืืื ืฉืื ืืืฉืืจ ืืืืืื.
ืืฉืชืืฉ ืืกื ืื ืชืื ืื ืฆืจืื ืืช ืืจืฉืืืช ืืืืฉื ืืืืืช ืืืืืืืช ืืืืกืื ืื ืชืื ืื ืฉืืืืื:
-
ืืขื ืืืืฉ ืื ืขื ืฉืืืื ืืช
-
ืืงืื ืจืคืืืงืฆืื
-
ืฆืืจ ืืื ืฉืืืื ืืช
-
ืชืืืื
-
SUPER
-
ืืืฆืืจ
-
INSERT
-
ืืืืืจ
ืชึฐืฆืึผืจึธื
ืชึฐืฆืึผืจึธื XtraBackup ื ืขืฉื ืืืืฆืขืืช ืืคืฉืจืืืืช ืฉืืชื ืืืืช ืืื ืืคืฉืจืืืืช MySQL ืกืื ืืจืืืืช.
ืื ืื ืืืืจ?
ื ืืชื ืืฆืืื ืคืจืืืจืื ืฉื ืชืฆืืจื ืืฉืืจืช ืืคืงืืื ืื ืืงืืืฅ ืืชืฆืืจื ืฉื DBMS, ืืืฉื ื /etc/my.cnf.
ืืื ืืฉืืจืืช XtraBackup ืงืืจื ืืืืฆืืช ืืืืจ ืืืฉืงื [Mysqld] ะธ [xtrabackup] ืืงืืืฆื ืชืฆืืจื ืฉื MySQL. ืื ื ืขืฉื ืืื ืฉืชืืื ืืช ืืฉืืจืืช ืชืืื ืืืฉืชืืฉ ืืืืืจืืช ืฉื ื-DBMS ืฉืื ืืืื ืืฆืืื ืืืืคื ืืื ื ืืช ืืคืจืืืจืื ืืืืื ืื ืืืืื.
ืืืฉื, ืืขืจื ืืืืืืืจ ืืืื ืคืจืืืจืื InnoDB ืื ื ืืงืืืื XtraBackup ืืืชืฆืืจื ืฉื ื-DBMS ืฉืื.
ืื ืืื ืฉ-XtraBackup ืืขืืื ืืชื ืจืืฆื ืืขืงืืฃ ืืช ืืคืจืืืจืื ืฉื ืืฆืืื ืืกืขืืฃ [Mysqld], ืืื ืคืฉืื ืฆืืื ืืืชื ืืงืืืฅ ืืชืฆืืจื ืืกืขืืฃ [xtrabackup]. ืืืืืื ืฉืื ืืงืจืื ืืืืืจ ืืืชืจ, ืืขืืืคืืช ืฉืืื ืชืืื ืืืืื ืืืชืจ.
ืืชื ืื ืฆืจืื ืืืืกืืฃ ืคืจืืืจืื my.cnf. ื ืืชื ืืฆืืื ืืช ืื ืืคืจืืืจืื ืื ืืจืฉืื ืืฉืืจืช ืืคืงืืื. ืืืจื ืืื ืืืืจ ืืืืื ืฉื ืืชื ืืืงื ืื ืืืืช ืืงืืข [xtrabackup] ืฉืื my.cnf ืืื ืคืจืืืจ target_dir, ืืฉืจ ืืืจืืจืช ืืืื ืืฆืืื ืช ืืช ืืกืคืจืืื ืฉืื ืืืืงืื ืืืืืืืื. ืืื ืื ืืืคืฆืืื ืื.
ืืืืื ืืฆืืื ืื ืชืื ืืกืคืจืืื ืขื ืขืืชืง ืืืืื ื my.cnf:
[xtrabackup]
target_dir = /data/backups/mysql/
ืกืงืจืืคื ืืืืื
ืืชื ืืืื ืืืฉืชืืฉ ืืกืงืจืืคื ืืื ืืื ืืืฆืืจ ืืืืื:
#!/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.
ืืืืจ ืืื, ืืืืฆืขืืช ืืื ืืฉืืจืืช XtraBackup ืืืฆืืจ ืขืืชืง ืืืืื ืืืฉืืืจ ืืืชื /mysql/backup/:
xtrabackup --user=xtrabackup --password=xxxxz1cYf95550Gc6xxxxxxxpE3rB03xxxx --backup --target-dir=/mysql/backup
ืืขืืจ ืืฆืจื ื ืืฉืชืืฉ ื-MySQL xtrabackup
ืขื ืืืจืฉืืืช ืื ืืจืฉืืช. ืฉืืืืฉ ืืคืจืืืจ target-dir
ืื ื ืืฆืืื ืื ืืช ืืกืคืจืืื ืฉืื ืืฉ ืืฉืืืจ ืืช ืืืืืื.
ะะฐะถะฝัะน ะผะพะผะตะฝั!
ืฉืืื ืื ืืฉืืจืช ืืกืงืจืืคื:
xtrabackup --prepare --target-dir=/mysql/backup
ื ืชืื ื ืงืืืื /mysql/ืืืืื ืืื ื ืขืงืืืื ืขื ืฉืื ืืืืฉืืื.
ืืขืืืื ืืื ืฉืฉืื ืืืื ืขืฉืืืื ืืืชืจืืฉ ืืืื ืืขืชืงืช ืงืืฆืื. ืืืฆืข xtrabackup --prepare --target-dir=/mysql/backup
ืืืคื ืืช ื ืชืื ื ืืืืืื ืืขืงืืืื ืืืืืืื ืืืืจื ืืื.
ืืชื ืืืื ืืืฆืข ืืช ืคืขืืืช ืืื ืช ืื ืชืื ืื ืืื ืืืื ื. ืืื ืฆืืจื ืืขืฉืืช ืืืช ืืฉืจืช ืฉืื ื ืืฆื ื-DBMS ืืืงืืจ. ืืชื ืืืื ืืืขืชืืง ืืช ืืืืืื ืืฉืจืช ืืืขื ืืืืืื ืืืชื ืฉื.
ืืืืจ ืืืืจืื ืฉืื ื ืขืืฉืื ืืื ืืืฆืืจ ืืจืืืื ืื ืื ื ืฉืืื ืืช ืืืืืื ืฉืื ื:
tar -zcvf /home/developer/dumps/xtrabackup-all-dbs-ยซ$(date % F% H% M% S)ยป.gz /mysql/backup
ืฉืืืืจ ืืืืื
ืืคื ื ืฉืชืืื ืืฉืืืจ ืืืืื ืืฉืจืช ืืืขื, ืื ืชืื ืื ืืืืืื ืืขืืืจ ืฉืื ืืื ื. ืจืื ืืืขืื ืืืฆื ืืขืฉืืช ืืืช.
ืชืืืื ืฉืืืืจ ืื ืชืื ืื ืืื ืคืฉืื ืืืื. ืขืืื ืืืืฅ ืืช ืืืืืื ืืืืจืืืื ืืืืืืืฃ ืืช ืื ืชืื ืื ืคื ืืื ืืืืืืืจ.
ืืืฆื ืืืืืืฃ ื ืชืื ืื ื-datadir?
ืืืื ื ืืื ืฉืชื ืืคืฉืจืืืืช.
ืืคืฉืจืืช 1
ืืฉืชืืฉ ืืืื ืืฉืืจืืช XtraBackup. ืืชื ืฆืจืื ืืฆืืื ืืคืฉืจืืช --ืืขืชืง ืืืืจื.
ืืคืงืืื ืืืื ืชืขืืืจ ืืช ืืืืืื ืื ืืืืืืืจ ืฉืจืช ืืขื:
xtrabackup --copy-back --target-dir=/mysql/backup
ืืคืฉืจืืช 2
ืืชื ืืืื ืืขืฉืืช ืืช ืื ืืืจืช, ืืขืฉืืช ืืื ืืฉืืจืืช XtraBackup.
ืื ืื ืฉืืชื ืฆืจืื ืืขืฉืืช ืืื ืืืขืชืืง ืืช ืืืืืื ืืืื ืืืืืืืจ. ืืชื ืืืื ืืขืฉืืช ืืช ืื ืขื cp ืื rsync.
ืืฉืื ืืืืื ืฉืืืืื ืืฉืืืืจ ืืืืื ืืกืชืื ืจืง ืืืืืคืช ืชืืื ืืกืคืจืืื ืืืืืืืจ.
ืืคื ื ืฉืชืชืืื ืืฉืืืจ ืืืืื ืืฉืจืช ืืืขื, ืขืืื:
-
ืขืฆืืจ ืืช ืฉืจืช MySQL.
-
ื ืงื ืชืืงืืื ืืืืืืืจ ืื ืืืขืืืจ ืืช ืชืืื ื ืืืงืื ืืืจ. ืงึธืึธืืึนื ืืืืืืืจ ืืืื ืืืืืช ืจืืง.
ืืืืจ ืืฉืืืช ืืขืืจืช ืื ืชืื ืื ืื ืืืืืืืจ ื ืืชื ืืืคืขืื ืฉืจืช MySQL.
ืืืืจืื ืืฉืืืืฉ
ืืงืืจ: www.habr.com