Percona XtraBackup hija utilità għall-backups tad-database sħun MySQL.
Meta toħloq backup tad-dejta, l-ebda tabelli ma huma msakkra, u s-sistema tiegħek tkompli topera mingħajr ebda restrizzjoni.
XtraBackup 2.4 jista 'joħloq kopji ta' backup tat-tabelli InnoDB, XtraDB и MyISAM fuq servers MySQL 5.11, 5.5, 5.6 u 5.7, u wkoll fuq is-server percona għall- MySQL с XtraDB.
Biex taħdem magħhom MySQL 8.x verżjoni għandha tintuża XtraBackup 8.x. Dan l-artikolu se jitkellem biss dwar XtraBackup 2.4.
Il-vantaġġ ewlieni XtraBackup hija li din l-utilità hija adattata għall-ħolqien ta' kopji ta' backup ta' tagħbija għolja servers, kif ukoll għal sistemi b'numru baxx ta' tranżazzjonijiet.
Jekk id-daqs totali tad-databases MySQL tiegħek huwa sinifikanti (għexieren ta 'gigabytes), allura l-utilità standard mysqldump mhux se jippermettilek li toħloq kopja ta 'backup malajr, u r-restawr tad-dump jieħu ħafna ħin.
Installazzjoni
Installazzjoni XtraBackup mir-repożitorju apt Percona.
Mexxi l-kmandi li ġejjin b'mod sekwenzjali:
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. Wara l-installazzjoni, mexxi l-kmand xtrabackup -v. Peress li, huwa importanti li jiġi żgurat li l-utilità taħdem b'mod korrett fuq is-server. Bħala riżultat, xi ħaġa bħal din se tintwera fuq l-iskrin:
xtrabackup: argumenti tas-server rikonoxxuti: - datadir=/var/lib/mysql - tmpdir=/tmp - server-id=1 - logbin=/var/log/mysql/mysql-bin.log - innodbbufferpoolsize=16384M - innodbfilepertable=1 - innodbflushmethod=Odirect - innodbflushlogattrxcommit=0xtrabackup verżjoni 2.4.20 ibbażata fuq is-server MySQL 5.7.26 Linux (x8664) (id tar-reviżjoni: c8b4056)

Drittijiet ta' aċċess, permessi u privileġġi
XtraBackup għandu jkun kapaċi:
Qabbad mas-server MySQL tiegħek.
Ikollok drittijiet ta' aċċess għad-direttorju hija data.
Meta toħloq kopja ta 'backup, għandek id-drittijiet tal-kitba għall-parametru speċifikat mira-dir katalogu.
X'inhu datadir?
hija data huwa d-direttorju fejn is-server tad-database MySQL jaħżen id-dejta. Id-databases kollha, it-tabelli kollha jinsabu hemm. Fil-biċċa l-kbira tad-distribuzzjonijiet Linux B'mod awtomatiku, dan id-direttorju huwa /var/lib/mysql.
X'inhu direttorju target-dir?
mira-dir - Dan huwa d-direttorju fejn il-backup se jiġi ffrankat.
L-utent tad-database jeħtieġ id-drittijiet ta' aċċess li ġejjin għat-tabelli u d-databases li għandhom jiġu appoġġjati:
RELOAD u LOCK TWELLI
REPLIKAZZJONI KLIJENT
OĦLOQ TABLESPACE
PROĊESS
SUPER
JINħOLOQ
DAĦĦAL
SELECT
Konfigurazzjoni
Konfigurazzjoni XtraBackup isir bl-użu ta 'għażliet li jġibu ruħhom l-istess bħall-għażliet MySQL standard.
Dak li jfisser dan?
Il-parametri tal-konfigurazzjoni jistgħu jiġu speċifikati jew fuq il-linja tal-kmand jew fil-fajl tal-konfigurazzjoni tad-DBMS, pereżempju fi /etc/my.cnf.
L-utilità XtraBackup taqra diviżorji wara t-tnedija [mysqld] и [xtrabackup] mill-fajls tal-konfigurazzjoni MySQL. Dan isir sabiex l-utilità tkun tista' tuża s-settings tad-DBMS tiegħek mingħajr ma jkollok għalfejn tispeċifika manwalment il-parametri matul kull backup.
Per eżempju, il-valur hija data u xi parametri InnoDB Nieħdu XtraBackup mill-konfigurazzjoni tad-DBMS tiegħek.
Jekk biex XtraBackup jaħdem trid tegħleb il-parametri li jinsabu fit-taqsima [mysqld], imbagħad speċifikahom biss fil-fajl tal-konfigurazzjoni fit-taqsima [xtrabackup]. Peress li se jinqraw aktar tard, il-prijorità tagħhom tkun ogħla.
M'għandekx għalfejn iżżid xi parametru tiegħi.cnf. Il-parametri kollha meħtieġa jistgħu jiġu speċifikati fuq il-linja tal-kmand. Normalment l-unika ħaġa li tista 'titqiegħed b'mod konvenjenti fis-sezzjoni [xtrabackup] tiegħek tiegħi.cnf huwa parametru target_dir, li b'mod awtomatiku jispeċifika d-direttorju fejn se jitqiegħdu l-backups. Iżda dan huwa fakultattiv.
Eżempju ta 'speċifikazzjoni tal-mogħdija għad-direttorju b'kopja ta' backup ġewwa tiegħi.cnf:
[xtrabackup]
target_dir = /data/backups/mysql/Iskrittura tal-backup
Tista' tuża l-iskrittura li ġejja biex toħloq backup:
#!/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/backupX'jiġri waqt l-eżekuzzjoni tal-iskript?
L-ewwelnett, aħna niċċaraw (neħħu) id-direttorju li fih se nsalvaw il-kopja tal-backup:
rm -rf /mysql/backup.
Imbagħad, billi tuża l-utilità XtraBackup oħloq kopja ta' backup u ssalvaha fiha /mysql/backup/:
xtrabackup --user=xtrabackup --password=xxxxz1cYf95550Gc6xxxxxxxpE3rB03xxxx --backup --target-dir=/mysql/backupPreċedentement, ħloqna utent fil-MySQL xtrabackup bil-privileġġi meħtieġa. Bl-użu tal-parametru target-dir aħna nispeċifikaw id-direttorju fejn għandha tiġi ssejvjata l-backup.
Punt importanti!
Innota l-linja tal-iskrittura:
xtrabackup --prepare --target-dir=/mysql/backup
Data tal-katalogu /mysql/backup mhumiex konsistenti sakemm ikunu msajra.
Il-fatt hu li l-bidliet jistgħu jseħħu waqt l-ikkupjar tal-fajls. Operazzjoni xtrabackup --prepare --target-dir=/mysql/backup jagħmel id-data tal-backup perfettament konsistenti maż-żmien.
Tista 'twettaq l-operazzjoni tal-preparazzjoni tad-dejta fuq kwalunkwe magna. M'hemmx għalfejn tagħmel dan fuq is-server fejn jinsab is-sors DBMS. Tista 'tikkopja l-backup fis-server fil-mira u tippreparaha hemmhekk.
L-aħħar ħaġa li nagħmlu hija li noħolqu arkivju li fih inpoġġu l-backup tagħna:
tar -zcvf /home/developer/dumps/xtrabackup-all-dbs-«$(date % F% H% M% S)».gz /mysql/backupIr-restawr ta' backup
Qabel ma tkun tista 'terġa backup għas-server fil-mira, id-data trid tgħaddi minn fażi ta' preparazzjoni. Ara hawn fuq kif tagħmel dan.
Il-proċess ta 'rkupru tad-data huwa sempliċi ħafna. Għandek bżonn tiġbed il-backup mill-arkivju u tissostitwixxi d-data ġewwa hija data.
Kif tissostitwixxi d-data fid-datadir?
Ejja nikkunsidraw żewġ għażliet.
Għażla 1
Uża l-utilità XtraBackup. Għandek bżonn tispeċifika għażla --kopja lura.
Il-kmand hawn taħt se tittrasferixxi l-backup għal hija data server fil-mira:
xtrabackup --copy-back --target-dir=/mysql/backupGħażla 2
Tista 'tagħmel dan b'mod differenti, tagħmel mingħajr l-utilità XtraBackup.
Kull ma trid tagħmel hu li tikkopja l-backup fuq hija data. Tista 'tagħmel dan ma' cp jew rsync.
Huwa importanti li wieħed jifhem li l-proċedura għar-restawr ta 'backup titbaxxa biss biex tissostitwixxi l-kontenut tad-direttorju hija data.
Qabel ma tibda tirrestawra backup fuq is-server fil-mira, trid:
Waqqaf is-server MySQL.
Fowlder ċar hija data jew iċċaqlaq il-kontenut tiegħu għal post ieħor. Katalgu hija data irid ikun vojt.
Wara li tlesti t-trasferiment tad-data lejn hija data MySQL server jista 'jinbeda.
Materjali użati
.
Sors: www.habr.com
