Percona XtraBackup chinhu chinoshandiswa kune inopisa database backups MySQL.
Paunenge uchigadzira data backup, hapana matafura akakiyiwa, uye system yako inoramba ichishanda pasina zvirambidzo.
XtraBackup 2.4 inogona kugadzira backup makopi ematafura InnoDB, XtraDB ΠΈ MyISAM pamaseva MySQL 5.11, 5.5, 5.6 uye 5.7, uye zvakare pane server percona nokuti MySQL Ρ XtraDB.
Kushanda naye MySQL 8.x shanduro inofanira kushandiswa XtraBackup 8.x. Ichi chinyorwa chichangotaura nezvazvo XtraBackup 2.4.
Kubatsira kukuru XtraBackup ndeyekuti iyi yekushandisa inokodzera zvese kugadzira backups yemaseva akaremerwa zvakanyanya uye kune masisitimu ane yakaderera nhamba yekutengeserana.
Kana saizi yese yeMySQL dhatabhesi yakakosha (makumi emagigabytes), ipapo iyo yakajairwa utility mysqldump hazvizokubvumiri iwe kukurumidza kugadzira kopi yekuchengetedza, uye kudzoreredza kuraswa kunotora nguva yakawanda.
Kuiswa
Kuiswa XtraBackup kubva ku repository akakodzera Percona.
Mhanya mirairo inotevera sequentially:
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. Mushure mekuisa, shandisa murairo xtrabackup -v
. Sezvo, zvakakosha kuve nechokwadi chekuti zvinoshandiswa zvinoshanda nemazvo pane server. Nekuda kweizvozvo, chimwe chinhu chakadai chicharatidzwa pachiratidziri:
xtrabackup: inozivikanwa sevha nharo: - datadir=/var/lib/mysql - tmpdir=/tmp - server-id=1 - logbin=/var/log/mysql/mysql-bin.log - innodbbufferpoolsize=16384M - innodbfilepertable=1 - innodbflushmethod=Odirect β innodbflushlogattrxcommit=0xtrabackup version 2.4.20 zvichibva paMySQL server 5.7.26 Linux (x8664) (revision id: c8b4056)
Kuwana kodzero, mvumo uye maropafadzo
XtraBackup inofanirwa kukwanisa:
-
Batanidza kune yako MySQL server.
-
Iva nekodzero dzekuwana dhairekitori datadir.
-
Paunenge uchigadzira kopi yekuchengetedza, iva nekodzero dzekunyora kune yakatarwa parameter target-dir catalog.
Chii chinonzi datadir?
datadir ndiyo dhairekitori uko server yedatabase MySQL zvitoro zve data. Ese dhatabhesi, matafura ese aripo. Pazvizhinji zvekugoverwa kweLinux, iyo default dhairekitori ndeye /var/lib/mysql.
Chii chinonzi target-dir directory?
target-dir -Iri ndiro dhairekitori apo iyo backup ichachengetwa.
Mushandisi wedatabase anoda kodzero dzinotevera dzekuwana kumatafura uye dhatabhesi kuti dzitsigirwe:
-
RELOAD uye KUkiya TABLES
-
REPLICATION CLIENT
-
GADZIRA TABLESPACE
-
MAFAMBIRO
-
nakisa
-
Create
-
Isa
-
SELECT
Kugadziriswa
Kugadziriswa XtraBackup yakaitwa uchishandisa sarudzo dzinoita zvakafanana neyakajairwa MySQL sarudzo.
Izvi zvinorevei?
Configuration parameters inogona kutsanangurwa ingave pamutsetse wekuraira kana muDBMS yekumisikidza faira, semuenzaniso mu. /etc/my.cnf.
XtraBackup utility inoverenga zvikamu mushure mekutanga [mysqld] ΠΈ [xtrabackup] kubva kuMySQL mafaira ekugadzirisa. Izvi zvinoitirwa kuti zvinoshandiswa zvinogona kushandisa marongero eDBMS yako pasina kutsanangura nemaoko maparamita panguva yega yega backup.
Somuenzaniso, kukosha datadir uye mamwe ma parameters InnoDB Isu tinowana XtraBackup kubva pakugadziriswa kweDBMS yako.
Kana kuti XtraBackup ishande iwe unoda kudarika maparameter ari muchikamu [mysqld], wobva wangozvitsanangura mufaira rekugadzirisa muchikamu [xtrabackup]. Sezvo vachizoverengwa gare gare, kukosha kwavo kuchava kwepamusoro.
Iwe haufanirwe kuwedzera chero ma parameter kune yangu.cnf. Zvose zvinodiwa parameters zvinogona kutsanangurwa pamutsara wekuraira. Kazhinji chinhu chete chinogona kuiswa zviri nyore muchikamu [xtrabackup] zvako yangu.cnf iri parameter target_dir, iyo inotsanangura dhairekitori pachaiswa ma backups. Asi izvi ndezvekusarudza.
Muenzaniso wekutsanangura nzira yedhairekitori ine backup kopi mukati yangu.cnf:
[xtrabackup]
target_dir = /data/backups/mysql/
Backup script
Iwe unogona kushandisa script inotevera kugadzira 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/backup
Chii chinoitika panguva yekunyora script?
Chekutanga pane zvese, tinobvisa (bvisa) dhairekitori umo isu tichachengetedza kopi yekuchengetedza:
rm -rf /mysql/backup.
Zvadaro, kushandisa utility XtraBackup gadzira kopi yekuchengetedza uye chengeta mukati /mysql/backup/:
xtrabackup --user=xtrabackup --password=xxxxz1cYf95550Gc6xxxxxxxpE3rB03xxxx --backup --target-dir=/mysql/backup
Pakutanga, takagadzira mushandisi muMySQL xtrabackup
neropafadzo dzinodiwa. Kushandisa parameter target-dir
isu tinotsanangura dhairekitori panofanirwa kuchengetwa backup.
Pfungwa inokosha!
Cherechedza mutsara wezvinyorwa:
xtrabackup --prepare --target-dir=/mysql/backup
Catalog data /mysql/backup haawirirane kusvikira aibva.
Chokwadi ndechekuti shanduko dzinogona kuitika paunenge uchikopa mafaera. Operation xtrabackup --prepare --target-dir=/mysql/backup
inoita kuti backup data inyatsoenderana nekufamba kwenguva.
Iwe unogona kuita iyo data yekugadzirira kushanda pane chero muchina. Iko hakuna chikonzero chekuita izvi pane sevha uko kunobva DBMS iripo. Iwe unogona kukopa iyo backup kune yakananga server uye gadzirira ipapo.
Chinhu chekupedzisira chatinoita kugadzira dura ratinoisa backup yedu:
tar -zcvf /home/developer/dumps/xtrabackup-all-dbs-Β«$(date % F% H% M% S)Β».gz /mysql/backup
Kudzoreredza backup
Usati wadzoreredza backup kune yakananga server, iyo data inofanirwa kuenda kuburikidza nechikamu chekugadzirira. Ona pamusoro kuti ungaita sei izvi.
Iyo data recovery process iri nyore kwazvo. Iwe unofanirwa kubvisa iyo backup kubva mudura uye kutsiva iyo data mukati datadir.
Nzira yekutsiva sei data mu datadir?
Ngatikurukurei nzira mbiri.
Sarudzo 1
Shandisa zvinoshandiswa XtraBackup. Iwe unofanirwa kutsanangura sarudzo --copy-back.
Murairo uri pazasi uchaendesa backup kune datadir target server:
xtrabackup --copy-back --target-dir=/mysql/backup
Sarudzo 2
Iwe unogona kuzviita zvakasiyana, ita pasina utility XtraBackup.
Zvese zvaunoda kuti uite kukopa backup kune datadir. Unogona kuita izvi ne cp kana rsync.
Izvo zvakakosha kuti unzwisise kuti maitiro ekudzoreredza backup anodzika kusvika pakungotsiva zviri mukati medhairekitori. datadir.
Usati watanga kudzoreredza backup pane yakananga server, unofanirwa:
-
Misa MySQL server.
-
Bvisa folda datadir kana kuendesa zvirimo kune imwe nzvimbo. Catalog datadir inofanira kunge isina chinhu.
Mushure mekupedza kuendesa data ku datadir MySQL server inogona kutangwa.
Zvinhu zvakashandiswa
Source: www.habr.com