Kugadzira kuchengetedza kweMySQL uchishandisa XtraBackup utility

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 InnoDBXtraDB ΠΈ 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)

Kugadzira kuchengetedza kweMySQL uchishandisa XtraBackup utility

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

Zvinyorwa zvepamutemo percona XtraBackup.

Source: www.habr.com

Voeg