Percona XtraBackup ืืื ืึท ื ืืฆื ืคึฟืึทืจ ืืืืก ืืึทืืึทืืืืก ืืึทืงืึทืคึผืก ืืืกืงื.
ืืืขื ืงืจืืืืืื ื ืึท ืืึทืื ืืึทืงืึทืคึผ, ืงืืื ืืืฉื ืืขื ืขื ืคืืจืฉืคืืจื, ืืื ืืืื ืกืืกืืขื ืืืื ืฆื ืึทืจืืขืื ืึธื ืจืืกืืจืืงืฉืึทื ื.
XtraBackup 2.4 ืงืขื ืขื ืืึทืื ืืึทืงืึทืคึผ ืงืืคืืขืก ืคืื ืืืฉื InnoDB, XtraDB ะธ ืืืืกืึทื ืืืืฃ ืกืขืจืืืขืจืก MySQL 5.11, 5.5, 5.6 ืืื 5.7, ืืื ืืืื ืืืืฃ ืื ืกืขืจืืืขืจ ืคึผืขืจืงืึธื ืึท ืคืึทืจ ืืืกืงื ั XtraDB.
ืฆื ืึทืจืืขืื ืืื MySQL 8.x ืืืขืจืกืืข ืืึธื ืืืื ืืขืืืืื ื XtraBackup 8.x. ืืขืจ ืึทืจืืืงื ืืืขื ื ืึธืจ ืจืขืื ืืืขืื XtraBackup 2.4.
ืื ืืืืคึผื ืืืึทืืข XtraBackup ืืื ืื ืืืก ืืขืฆืืื ืืื ืคืืกืื ืคืืจื ืฉืืคื ืืขืงืืค ืงืืคืืขืก ืคืื ืฉืืืจืง ืืขืืืืขื ืข ืกืขืจืืืขืจืก, ืืื ืืืื ืคึฟืึทืจ ืกืืกืืขืืขื ืืื ืึท ื ืืืขืจืืงืข ืฆืึธื ืืจืึทื ืืึทืงืฆืืขืก.
ืืืื ืื ืืึทื ืฅ ืืจืืืก ืคืื ืืืื MySQL ืืึทืืึทืืืืกืื ืืื ืืึทืืืืืืง (ืืขื ืก ืคืื ืืืืืืืื), ืืขืจ ื ืึธืจืืึทื ื ืืฆื ืืืกืงืืืืืคึผ ืืืขื ื ืืฉื ืืึธืื ืืืจ ืฆื ืืขืฉืืืื ื ืืึทืื ืึท ืืึทืงืึทืคึผ ืงืึธืคึผืืข, ืืื ืจืืกืืึธืจืื ื ืื ืืึทืืคึผ ืืืขื ื ืขืืขื ืึท ืคึผืืึทืฅ ืคืื ืฆืืื.
ืื ืกืืึทืืืจืื ื
ืื ืกืืึทืืืจืื ื 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-242. ื ืึธื ืื ืกืืึทืืืจืื ื, ืืืืคื ืื ืืึทืคึฟืขื 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 ืกืขืจืืืขืจ.
ืืึธืื ืึทืงืกืขืก ืจืขืื ืฆื ืืขืจ ืืืขืืืืืึทืืขืจ ืืื ืืึทืื.
ืืืขื ืงืจืืืืืื ื ืึท ืืึทืงืึทืคึผ ืงืึธืคึผืืข, ืืึธืื ืฉืจืืึทืื ืจืขืื ืฆื ืื ืกืคึผืขืกืึทืคืืื ืคึผืึทืจืึทืืขืืขืจ ืฆืื-ืืืจ ืงืึทืืึทืืึธื.
ืืืึธืก ืืื ืืึทืืึทืืืจ?
ืืื ืืึทืื ืืื ืืขืจ ืืืขืืืืืึทืืขืจ ืืื ืื ืืึทืืึทืืืืก ืกืขืจืืืขืจ ืืืกืงื ืฉืคึผืึธืจื ืืึทืื. ืึทืืข ืืึทืืึทืืืืกืขืก, ืึทืืข ืืึทืืขืืขืก ืืขืคืื ืขื ืืื ืืึธืจื. ืืื ืจืืึฟ ืคืึทืจืฉืคึผืจืืืืื ืืขื Linux ืืืจื ืคืขืืืงืืื, ืืื ืืึธืก ืืืจืขืงืืึธืจื /var/lib/mysql.
ืืืึธืก ืืื ืฆืื-ืืืจ ืืืขืืืืืึทืืขืจ?
ืฆืื-ืืืจ - ืืึธืก ืืื ืืขืจ ืืืขืืืืืึทืืขืจ ืืื ืื ืืึทืงืึทืคึผ ืืืขื ืืืื ืืขืจืืืขืืืขื.
ืืขืจ ืืึทืืึทืืืืก ืืึทื ืืฆืขืจ ืืึทืจืฃ ืื ืคืืืืขื ืืข ืึทืงืกืขืก ืจืขืื ืฆื ืื ืืืฉื ืืื ืืึทืืึทืืืืกืื ืฆื ืืืื ืืึทืงื:
ืจืืืึธืื ืืื ืฉืืึธืก ืืืฉื
ืจืขืคึผืืืงืึทืืืึธื ืงืืืขื ื
ืฉืึทืคึฟื ืืืฉ ืคึผืืึทืฅ
ืคึผืจืึธืฆืขืก
ืืืขืจ
CREATE
ืึทืจืืึทื ืืืืื
ืืืืกืงืืืึทืื
ืงืึธื ืคืืืืจืึทืืืึธื
ืงืึธื ืคืืืืจืึทืืืึธื XtraBackup ืืขืืื ืืื ืึธืคึผืฆืืขืก ืืืึธืก ืืืืืืืื ืื ืืขืืืข ืืื ื ืึธืจืืึทื MySQL ืึธืคึผืฆืืขืก.
ืืืึธืก ืืื ืืึธืก ืืืื ืขื?
ืงืึทื ืคืืืืขืจืืืฉืึทื ืคึผืึทืจืึทืืขืืขืจืก ืงืขื ืขื ืืืื ืกืคึผืขืกืืคืืขื ืึธืืขืจ ืืืืฃ ืื ืืึทืคึฟืขืื ืฉืืจื ืึธืืขืจ ืืื ืื DBMS ืงืึทื ืคืืืืขืจืืืฉืึทื ืืขืงืข, ืืืฉื ืืื /etc/my.cnf.
XtraBackup ื ืืฆื ืืืืขื ื ืคึผืึทืจืืืฉืึทื ื ื ืึธื ืงืึทืืขืจ [mysqld] ะธ [ืงืกืืจืึทืืึทืงืงืืคึผ] ืคึฟืื MySQL ืงืึทื ืคืืืืขืจืืืฉืึทื ืืขืงืขืก. ืืึธืก ืืื ืืขืืื ืึทืืื ืึทื ืื ื ืืฆื ืงืขื ืขื ื ืืฆื ืื ืกืขืืืื ืืก ืคืื ืืืื DBMS ืึธื ืฆื ืกืคึผืขืฆืืคืืฆืืจื ืื ืคึผืึทืจืึทืืขืืขืจืก ืืึทื ืืืึทืื ืืขืฉืึทืก ืืขืืขืจ ืืึทืงืึทืคึผ.
ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืื ืืืขืจื ืืื ืืึทืื ืืื ืขืืืขืืข ืคึผืึทืจืึทืืขืืขืจืก InnoDB ืืืจ ืืึทืงืืืขื XtraBackup ืคึฟืื ืื ืงืึทื ืคืืืืขืจืืืฉืึทื ืคืื ืืืื DBMS.
ืืืื ืคึฟืึทืจ XtraBackup ืฆื ืึทืจืืขืื, ืืืจ ืืืืื ืฆื ืึธืืืืขืจืจืืื ืื ืคึผืึทืจืึทืืขืืขืจืก ืืื ืืขืจ ืึธืคึผืืืืืื ื [mysqld], ืืขืืึธืื ื ืึธืจ ืกืคึผืขืฆืืคืืฆืืจื ืืื ืืื ืื ืงืึทื ืคืืืืขืจืืืฉืึทื ืืขืงืข ืืื ืื ืึธืคึผืืืืืื ื [ืงืกืืจืึทืืึทืงืงืืคึผ]. ืืื ื ืืื ืืืขืื ืืืื ืืืืขื ืขื ืฉืคึผืขืืขืจ, ืืืืขืจ ืืืืืขืจืงืืึทื ืืืขื ืืืื ืืขืืขืจ.
ืืืจ ืืึธื ื ืื ืืึธืื ืฆื ืืืืื ืงืืื ืคึผืึทืจืึทืืขืืขืจืก ืฆื ืืืื.ืงื ืฃ. ืึทืืข ืคืืจืืื ืื ืคึผืึทืจืึทืืขืืขืจืก ืงืขื ืขื ืืืื ืกืคึผืขืกืืคืืขื ืืืืฃ ืื ืืึทืคึฟืขื ืฉืืจื. ืืืืฉืึทืืืึทืื ืืขืจ ืืืืื ืืึทื ืืืึธืก ืงืขื ืขื ืืืื ืงืึทื ืืืื ืืึทื ืืื ืฉืืขืื ืืื ืื ืึธืคึผืืืืืื ื [ืงืกืืจืึทืืึทืงืงืืคึผ] ืืืื ืืืื.ืงื ืฃ ืืื ืึท ืคึผืึทืจืึทืืขืืขืจ target_dir, ืืืึธืก ืืืจื ืคืขืืืงืืึทื ืกืคึผืขืฆืืคืืฆืืจื ืื ืืืขืืืืืึทืืขืจ ืืื ืืึทืงืึทืคึผืก ืืืขื ืืืื ืืขืฉืืขืื. ืึธืืขืจ ืืึธืก ืืื ืึทืคึผืฉืึทื ืึทื.
ื ืืืืฉืคึผืื ืคืื ืกืคึผืขืฆืืคืืฆืืจื ืืขื ืืจื ืฆื ืืขืจ ืืืขืืืืืึทืืขืจ ืืื ืึท ืืึทืงืึทืคึผ ืงืึธืคึผืืข ืืื ืืืื.ืงื ืฃ:
[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/backup ืืขื ืขื ื ืืฉื ืงืึธื ืกืืกืืขื ื ืืื ืืื ืืขื ืขื ืืึทืื.
ืืขืจ ืคืึทืงื ืืื ืึทื ืขื ืืขืจืื ืืขื ืงืขื ืคึผืึทืกืืจื ืืฉืขืช ืงืึทืคึผืืื ื ืืขืงืขืก. ืึธืคึผืขืจืึทืฆืืข xtrabackup --prepare --target-dir=/mysql/backup ืืืื ืืึทืงืึทืคึผ ืืึทืื ืืืฉืืืืืขืก ืงืึธื ืกืืกืืขื ื ืืืืขืจ ืฆืืึทื.
ืืืจ ืงืขื ืขื ืืืจืืคืืจื ืื ืืึทืื ืฆืืืจืืืืื ื ืึธืคึผืขืจืึทืฆืืข ืืืืฃ ืงืืื ืืึทืฉืื. ืขืก ืืื ื ืื ืืึทืจืคึฟื ืฆื ืืึธื ืืึธืก ืืืืฃ ืื ืกืขืจืืืขืจ ืืื ืื ืืงืืจ DBMS ืืื ืืืื. ืืืจ ืงืขื ืขื ื ืึธืืืึทืื ืื ืืึทืงืึทืคึผ ืฆื ืื ืฆืื ืกืขืจืืืขืจ ืืื ืฆืืืจืืืื ืขืก ืืึธืจื.
ืื ืืขืฆืืข ืืึทื ืืืจ ืืึธื ืืื ืฉืึทืคึฟื ืึทื ืึทืจืงืืืื ืืื ืืืึธืก ืืืจ ืฉืืขืื ืืื ืืืขืจ ืืึทืงืึทืคึผ:
tar -zcvf /home/developer/dumps/xtrabackup-all-dbs-ยซ$(date % F% H% M% S)ยป.gz /mysql/backupืจืืกืืึธืจืื ื ืึท ืืึทืงืึทืคึผ
ืืืืืขืจ ืืืจ ืงืขื ืขื ืืืงืขืจื ืึท ืืึทืงืึทืคึผ ืฆื ืื ืฆืื ืกืขืจืืืขืจ, ืื ืืึทืื ืืืื ืืืจืืืืื ืึท ืฆืืืจืืืืื ื ืคืึทืกืข. ืืขื ืืืืื ืคึฟืึทืจ ืืื ืฆื ืืึธื ืืึธืก.
ืื ืืึทืื ืึธืคึผืืื ืคึผืจืึธืฆืขืก ืืื ืืืืขืจ ืคึผืฉืื. ืืืจ ืืึทืจืคึฟื ืฆื ืขืงืกืืจืึทืงื ืื ืืึทืงืึทืคึผ ืคืื ืื ืึทืจืงืืืื ืืื ืคืึทืจืืืึทืื ืื ืืึทืื ืืื ืืื ืืึทืื.
ืืื ืฆื ืคืึทืจืืืึทืื ืืึทืื ืืื ืืึทืืึทืืืจ?
ืืื ืก ืืึทืืจืึทืืื ืฆืืืื ืึธืคึผืฆืืขืก.
Option 1
ื ืืฆื ืื ื ืืฆื XtraBackup. ืืืจ ืืึทืจืคึฟื ืฆื ืกืคึผืขืฆืืคืืฆืืจื ืึทื ืึธืคึผืฆืืข --ืงืึธืคึผื-ืฆืืจืืง.
ืืขืจ ืืึทืคึฟืขื ืืื ืื ืืืขื ืึทืจืืืขืจืคืืจื ืื ืืึทืงืึทืคึผ ืฆื ืืื ืืึทืื ืฆืื ืกืขืจืืืขืจ:
xtrabackup --copy-back --target-dir=/mysql/backupOption 2
ืืืจ ืงืขื ืขื ืืึธื ืขืก ืืืคืขืจืขื ืืื, ืืึธื ืึธื ืื ื ืืฆื XtraBackup.
ืื ืืืจ ืืึทืจืคึฟื ืฆื ืืึธื ืืื ืฆื ื ืึธืืืึทืื ืื ืืึทืงืึทืคึผ ืืื ืืึทืื. ืืืจ ืงืขื ืขื ืืึธื ืืึธืก ืืื cp ืึธืืขืจ rsync.
ืขืก ืืื ืืืืืืืง ืฆื ืคึฟืึทืจืฉืืืื ืึทื ืืขืจ ืคึผืจืึธืฆืขืืืจ ืคึฟืึทืจ ืจืืกืืึธืจืื ื ืึท ืืึทืงืึทืคึผ ืืื ื ืึธืจ ืจืืคึผืืืืกืื ื ืื ืืื ืืึทืื ืคืื ืื ืืืขืืืืืึทืืขืจ. ืืื ืืึทืื.
ืืืืืขืจ ืืืจ ืึธื ืืืืื ืจืืกืืึธืจืื ื ืึท ืืึทืงืึทืคึผ ืืืืฃ ืื ืฆืื ืกืขืจืืืขืจ, ืืืจ ืืืื:
ืืึทืืื MySQL ืกืขืจืืืขืจ.
ืงืืึธืจ ืืขืงืข ืืื ืืึทืื ืึธืืขืจ ืืึทื ืืืึทื ืืื ืืึทืื ืฆื ืื ืื ืืขืจ ืึธืจื. ืงืึทืืึทืืึธื ืืื ืืึทืื ืืื ืืฒื ืืฒืืืง.
ื ืึธื ืงืึทืืคึผืืืืื ื ืื ืืึทืื ืึทืจืืืขืจืคืืจื ืฆื ืืื ืืึทืื MySQL ืกืขืจืืืขืจ ืงืขื ืขื ืืืื ืกืืึทืจืืขื.
ืืึทืืขืจืืึทืืก ืืขื ืืฆื
.
ืืงืืจ: www.habr.com
