Percona XtraBackup ααΊααΆα§αααααααααΎααααΆαααααααΆααααΆαααααα»ααα»αααΌαααααΆααα·αααααααααα MySQL.
αα ααααααααΎαααΆαααααα»ααα»ααα·αααααα ααααΆαααΆααΆαααΆαα½αααααΌαααΆαα αΆαααααα α αΎαααααααααααααα’αααααααααααΎαααΆααααααααΆαααΆαααΉααααααΉαααΆαα½αα‘αΎαα
XtraBackup 2.4 α’αΆα αααααΎαα αααΆααα ααααααααΆααΆα InnoDB, XtraDB ΠΈ ααΈα’αΆαα’αα αα ααΎαααΆαααΈααα MySQL 5.11, 5.5, 5.6 αα·α 5.7αα·ααα ααΎαααΆαααΈααααααααα percona αααααΆαα MySQL Ρ XtraDB.
ααΎααααΈααααΎααΆαααΆαα½α MySQL 8.x αααααα½αααααααΌαααΆαααααΎ XtraBackup 8.x α α’ααααααααααΉααα·ααΆαααα’αααΈ XtraBackup 2.4.
α’αααααααααααα αααα XtraBackup ααΊααΆα§αααααααααΎααααΆααααααααααααααααΆαααααααΎαα αααΆααα ααααααααα»ααα»αααααΆααααα»αααααα αααΆαααΈααααααΎααααΌα ααΆαααααΆαααααααααααααααΆαα ααα½αααααα·ααααα·ααΆαααΆαα
ααααα·αααΎααα αααα»αααααΌαααααΆααα·αααααα MySQL ααααα’αααααΆαααΆααααααΆαα (ααΆαααα·αααΈα αααΆαα) αααααΆααααα§αααααααααΎααααΆαααααααααΆα mysqldump ααΉααα·αα’αα»ααααΆαα±ααα’ααααααααΎαα αααΆααα ααααααααα»ααα»αααΆαααΆαααα αααα α αΎαααΆαααααΆαααααααα αΆααααααΆαα‘αΎααα·αααΉαα αααΆααααα αααΎαα
ααΆαααααα
ααΆαααααα XtraBackup ααΈααααΆαα apt Percona
ααααΎαααΆαααΆααααααααΆααΆααααααααΆαααααΆαααααααα
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=0 xtrabackup αααα 2.4.20 ααα’ααααΎαααΆαααΈααααααΎ MySQL 5.7.26 Linux (x8664) (ααααααααΆααααΆαααααααα c8b4056)

αα·αααα·α αΌαααααΎ ααΆαα’αα»ααααΆα αα·ααα·αααα·
XtraBackup αα½αααα’αΆα α
ααααΆαααα αααΆαααΈααα MySQL ααααα’αααα
ααΆααα·αααα·α αΌαααααΎαα ααΊααΆαα·αααααα.
αα ααααααααΎαα αααΆααα ααααααααα»ααα»α ααΆααα·αααα·ααααααα αααΆαααΆαααααααααααΆααααααΆαα ααααα - ααΈ ααΆααΆα‘α»αα
ααΎ datadir ααΆα’αααΈ?
ααΊααΆαα·αααααα ααΊααΆααααααααΆαααΈαααααΌαααααΆααα·αααααα MySQL αααααΆαα»ααα·ααααααα ααΌαααααΆααα·ααααααααΆααα’αα ααΆααΆαααΆααα’ααααΆαααΈααΆαααα ααΈαααα αα αααα»αααΆαα ααα αΆαααΆαα αααΎα Linux ααΆαααααΆαααΎα ααα―αααΆααααααΊ /var/lib/mysql.
ααΎβα’αααΈβαα βααΆβαααααΈβααααα 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/ααααα»ααα»α/:
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
