Ukwenza i-MySQL yogcino usebenzisa i-XtraBackup utility

Percona XtraBackup sisixhobo sokugcinwa kwedatha eshushu MySQL.

Xa usenza i-backup data, akukho tafile zivaliweyo, kwaye inkqubo yakho iyaqhubeka nokusebenza ngaphandle kwezithintelo.

XtraBackup 2.4 ingenza iikopi zogcino lweetafile I-InnoDBXtraDB и I-MyISAM kwiiseva I-MySQL 5.11, 5.5, 5.6 kunye ne-5.7, kwaye nakumncedisi IPercona kuba MySQL с XtraDB.

Ukusebenza kunye I-MySQL 8.x inguqulelo kufuneka isetyenziswe XtraBackup 8.x. Eli nqaku liza kuthetha ngalo kuphela XtraBackup 2.4.

Olona loncedo luphambili XtraBackup kukuba le nto iluncedo ifanelekile ekudaleni iikopi zogcino lwee-highly loaded abancedisi, kunye neenkqubo ezinenani eliphantsi leentengiselwano.

Ukuba ubungakanani bubonke bedatha ye-MySQL yakho bubalulekile (amashumi egigabytes), ngoko usetyenziso olusemgangathweni mzantsi ayizukuvumela ukuba wenze ikopi yogcino ngokukhawuleza, kwaye ukubuyisela ukulahla kuya kuthatha ixesha elininzi.

isicwangciso

isicwangciso XtraBackup ukusuka kwindawo yokugcina Wayenyanisile Percona.

Yenza le miyalelo ilandelayo ngokulandelelanayo:

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. Emva kokufakela, sebenzisa umyalelo xtrabackup -v. Ekubeni, kubalulekile ukuqinisekisa ukuba into eluncedo isebenza ngokuchanekileyo kumncedisi. Ngenxa yoko, into enje iya kuboniswa kwiscreen:

xtrabackup: iingxoxo zeseva eziqatshelweyo: - datadir=/var/lib/mysql - tmpdir=/tmp - server-id=1 - logbin=/var/log/mysql/mysql-bin.log - innodbbufferpoolsize=16384M - innodbfilepertable=1 - innodbflushmethod=Odirect - innodbflushlogattrxcommit=0xtrabackup inguqulelo 2.4.20 ngokusekelwe kwiseva ye-MySQL 5.7.26 Linux (x8664) (i-id yohlaziyo: c8b4056)

Ukwenza i-MySQL yogcino usebenzisa i-XtraBackup utility

Amalungelo okufikelela, iimvume kunye namalungelo 

XtraBackup kufuneka ikwazi uku:

  • Qhagamshela kwiseva yakho yeMySQL.

  • Yiba namalungelo ofikelelo kuluhlu idathadir

  • Xa usenza ikopi yokugcina, yiba namalungelo okubhala kwiparamitha ekhankanyiweyo target-dir ikhathalogu.

Yintoni datadir?

idathadir lulawulo apho umncedisi wesiseko sedata MySQL Igcina idatha. Zonke ii-database, zonke iitafile zilapho. Kuninzi losasazo Linux Ngokuzenzekelayo, olu lawulo lu /var/lib/mysql.

Yintoni i-target-dir directory?

target-dir - Olu luluhlu apho i-backup iya kugcinwa.

Umsebenzisi wesiseko sedatha ufuna la malungelo alandelayo okufikelela kwiitheyibhile kunye nogcino lwedatha ukuba axhaswe:

  • PHINDA UPHINDE UTSHISE IITHEBILE

  • REPLICATION CLIENT

  • YENZA ITABILESPACE

  • INKQUBO

  • SUPER

  • Dala

  • BHALA

  • KHETHA

Isimo 

Isimo XtraBackup yenziwe kusetyenziswa iinketho eziziphatha ngendlela efanayo neenketho eziqhelekileyo zeMySQL.

Kuthetha ukuthini oku?

Uqwalaselo iparameters zingachazwa nokuba kumgca womyalelo okanye kwifayile yoqwalaselo yeDBMS, umzekelo /etc/my.cnf.

Usetyenziso lwe-XtraBackup lufunda izahlulo emva kokusungulwa [mysqld] и [xtrabackup] ukusuka kwiifayile zoqwalaselo zeMySQL. Oku kwenziwa ukuze into eluncedo inokusebenzisa useto lwe-DBMS yakho ngaphandle kokuba ukhankanye iiparamitha ngexesha logcino ngalunye.

Umzekelo, ixabiso idathadir kunye nezinye iiparameters I-InnoDB Sifumana iXtraBackup kuqwalaselo lweDBMS yakho.

Ukuba i-XtraBackup isebenze ufuna ukubhala ngaphezulu iparameters ezikwicandelo [mysqld], emva koko uzichaze nje kwifayile yoqwalaselo kwicandelo [xtrabackup]. Ekubeni ziya kufundwa kamva, ukubaluleka kwazo kuya kuba phezulu.

Akukho mfuneko yokongeza nayiphi na iparameters yam.cnf. Zonke iiparamitha ezifunekayo zingachazwa kumgca womyalelo. Ngokuqhelekileyo eyona nto inokubekwa ngokufanelekileyo kwicandelo [xtrabackup] yakho yam.cnf yiparameter target_dir, ethi ngokungagqibekanga ichaze uvimba weefayili apho ugcino luza kubekwa khona. Kodwa oku kukhetho.

Umzekelo wokuchaza indlela eya kulawulo ngekopi yogcino yam.cnf:

[xtrabackup]
target_dir = /data/backups/mysql/

Ugcino lweskripthi

Ungasebenzisa esi script silandelayo ukwenza ugcino:

#!/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

Kwenzeka ntoni ngexesha lokwenziwa kweskripthi?

Okokuqala, sisusa (cima) isikhombisi apho siya kugcina ikopi yokugcina:

rm -rf /mysql/backup.

Emva koko, sebenzisa isixhobo XtraBackup yenza ikopi yokugcina kwaye uyigcine kuyo /mysql/backup/:

xtrabackup --user=xtrabackup --password=xxxxz1cYf95550Gc6xxxxxxxpE3rB03xxxx --backup --target-dir=/mysql/backup

Ngaphambili, senze umsebenzisi kwi-MySQL xtrabackup ngamalungelo afunekayo. Ukusebenzisa iparameter target-dir sichaza uvimba weefayili apho ugcino kufuneka lugcinwe.

Ibalulekileyo ebalulekileyo!

Qaphela umgca wescript:

xtrabackup --prepare --target-dir=/mysql/backup

Idatha yekhathalogu /mysql/backup azihambelani de zivuthwe. 

Inyani yeyokuba utshintsho lunokwenzeka ngelixa ukopisha iifayile. Ukusebenza xtrabackup --prepare --target-dir=/mysql/backup yenza idatha yogcino luhambelane ngokugqibeleleyo ekuhambeni kwexesha.

Unokwenza umsebenzi wokulungiselela idatha kuwo nawuphi na umatshini. Akukho mfuneko yokwenza oku kumncedisi apho umthombo we-DBMS ukhona. Ungakopa ugcino kumncedisi ekujoliswe kuwo kwaye uyilungiselele apho.

Into yokugqibela esiyenzayo kukwenza uvimba apho sibeka khona ugcino lwethu:

tar -zcvf /home/developer/dumps/xtrabackup-all-dbs-«$(date % F% H% M% S)».gz /mysql/backup

Ukubuyisela i-backup 

Ngaphambi kokuba ubuyisele i-backup kwi-server ekujoliswe kuyo, idatha kufuneka ihambe ngesigaba sokulungiselela. Jonga ngasentla malunga nendlela yokwenza oku.

Inkqubo yokubuyisela idatha ilula kakhulu. Kufuneka ukhuphe i-backup kwi-archive kwaye ubuyisele idatha kuyo idathadir.

Indlela yokubuyisela idatha kwi-datadir?

Makhe siqwalasele izinto ezimbini esinokuzenza.

Ikhetho 1

Sebenzisa into eluncedo XtraBackup. Kufuneka ucacise ukhetho --kopi-umva

Umyalelo ongezantsi uya kudlulisela ugcino ku idathadir iseva ekujoliswe kuyo:

xtrabackup --copy-back --target-dir=/mysql/backup

Ikhetho 2

Ungayenza ngokwahlukileyo, yenza ngaphandle koncedo XtraBackup.

Into ekufuneka uyenzile kukukhuphela i-backup idathadir. Ungakwenza oku nge cp okanye rsync.

Kubalulekile ukuqonda ukuba inkqubo yokubuyisela i-backup ngamathumba ezantsi ekutshintsheni nje imixholo yolawulo. idathadir.

Ngaphambi kokuba uqale ukubuyisela i-backup kwi-server ekujoliswe kuyo, kufuneka:

  • Misa iseva yeMySQL.

  • Cima isiqulathi seefayili idathadir okanye uhambise imixholo yayo kwenye indawo. Ikhathalogu idathadir mayingabi nanto.

Emva kokugqiba ugqithiso lwedatha kwi idathadir Umncedisi we-MySQL unokuqaliswa.

Izinto ezisetyenzisiweyo

Amaxwebhu asemthethweni IPercona XtraBackup.

umthombo: www.habr.com

Thenga ukusingathwa okuthembekileyo kwiindawo ezinokhuseleko lweDDoS, iiseva zeVPS VDS 🔥 Thenga ukusingathwa kwewebhusayithi okuthembekileyo ngokhuseleko lwe-DDoS, iiseva zeVPS VDS | ProHoster