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 chishandiso ichi chakakodzera kugadzira makopi ekuchengetedza ezvinyorwa zvakawanda servers, pamwe chete nemasisitimu ane nhamba shoma 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: nharo dzeseva dzinozivikanwa: - datadir=/var/lib/mysql - tmpdir=/tmp - server-id=1 - logbin=/var/log/mysql/mysql-bin.log - innodbbufferpoolsize=16384M - innodbfilepertable=1 - innodbflushmethod=Odirect - innodbflushlogattrxcommit=0xtrabackup vhezheni 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 Inochengeta data. Madhatabhesi ese, matafura ese aripo. Munzvimbo zhinji dzekugovera Linux Nekuda kweizvozvo, dhairekitori iri /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/gadziriro/:

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

Tenga inovimbika yekutambira kwemasaiti ane DDoS dziviriro, VPS VDS maseva 🔥 Tenga webhusaiti yakavimbika ine dziviriro yeDDoS, maseva eVPS VDS | ProHoster