Ho theha backup ea MySQL ho sebelisa sesebelisoa sa XtraBackup

Percona XtraBackup ke sesebelisoa sa ho boloka li-backups tsa database tse chesang MySQL.

Ha u theha bekapo ea data, ha ho litafole tse notletsoeng, 'me sistimi ea hau e ntse e tsoela pele ho sebetsa ntle le lithibelo.

XtraBackup 2.4 e ka etsa likopi tsa "backup" tsa litafole InnoDBXtraDB и MOTSOALLE ho li-server MySQL 5.11, 5.5, 5.6 le 5.7, hape le ho seva percona etsoe MySQL с XtraDB.

Ho sebetsa le MySQL 8.x phetolelo e lokela ho sebelisoa XtraBackup 8.x. Sehlooho sena se tla bua feela ka XtraBackup 2.4.

Molemo o ka sehloohong XtraBackup ke hore sesebelisoa sena se loketse ho etsa likopi tsa bekapo tsa lintho tse jarollotsoeng haholo lisebelisoa, hammoho le bakeng sa litsamaiso tse nang le palo e tlase ea litšebelisano.

Haeba boholo ba kakaretso ea li-database tsa hau tsa MySQL bo le bohlokoa (mashome a li-gigabyte), joale tšebeliso e tloaelehileng soba e ke ke ea u lumella ho etsa kopi ea "backup" kapele, 'me ho khutlisa thotobolo ho tla nka nako e telele.

bophirima

bophirima XtraBackup ho tsoa sebakeng sa polokelo loketseng tikolohong Percona.

Etsa litaelo tse latelang ka tatellano:

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. Kamora ho kenya, tsamaisa taelo xtrabackup -v. Kaha, ho bohlokoa ho etsa bonnete ba hore sesebelisoa se sebetsa hantle ho seva. Ka lebaka leo, ntho e kang ena e tla hlahisoa skrineng:

xtrabackup: mabaka a seva a tsebahalang: - datadir=/var/lib/mysql - tmpdir=/tmp - server-id=1 - logbin=/var/log/mysql/mysql-bin.log - innodbbufferpoolsize=16384M - innodbfilepertable=1 - innodbflushmethod=Odirect - innodbflushlogattrxcommit=0xtrabackup mofuta wa 2.4.20 o itshetlehile ka seva sa MySQL 5.7.26 Linux (x8664) (nomoro ea ntlafatso: c8b4056)

Ho theha backup ea MySQL ho sebelisa sesebelisoa sa XtraBackup

Litokelo tsa phihlello, litumello le litokelo 

XtraBackup e lokela ho tseba ho:

  • Hokela ho seva sa hau sa MySQL.

  • Eba le litokelo tsa ho kena bukeng ke data

  • Ha u etsa kopi ea "backup", e-ba le litokelo tsa ho ngola ho parameter e boletsoeng target-dir lethathamo la libuka.

Datadir ke eng?

ke data ke directory moo seva sa database MySQL Di-database tsohle, litafole tsohle di fumaneha moo. Dikabong tse ngata Linux Ka tlwaelo, bukana ena ke /var/lib/mysql.

Target-dir directory ke eng?

target-dir - Ena ke bukana moo bekapo e tla bolokoa.

Mosebedisi wa database o hloka ditokelo tse latelang tsa phihlello ho ditafole le mabolokelong a polokelo hore a bolokehe:

  • HLAHISA 'me U LOTELE LITABELA

  • EKETSO MOEKETSI

  • BOPA MOTLATSI

  • TSELA

  • Super

  • Etsa

  • SELLOANE

  • Khetha

Moralo 

Moralo XtraBackup e etsoa ho sebelisoa likhetho tse sebetsang ka mokhoa o ts'oanang le likhetho tse tloaelehileng tsa MySQL.

See se bolela eng?

Litlhophiso tsa tlhophiso li ka hlalosoa e ka ba molaong oa taelo kapa faeleng ea tlhophiso ea DBMS, mohlala ho. /etc/my.cnf.

Sesebelisoa sa XtraBackup se bala likarolo ka mor'a ho qala [mysqld] и [backup] ho tsoa ho lifaele tsa tlhophiso tsa MySQL. Sena se etsoa e le hore ts'ebeliso e ka sebelisa litlhophiso tsa DBMS ea hau ntle le ho tlameha ho hlakisa mekhahlelo nakong ea bekapo ka 'ngoe.

Ka mohlala, boleng ke data le li-parameter tse ling InnoDB Re fumana XtraBackup ho tsoa ho tlhophiso ea DBMS ea hau.

Haeba hore XtraBackup e sebetse u batla ho fetisa liparamente tse karolong eo [mysqld], ebe u li hlakisa feela faeleng ea tlhophiso karolong [backup]. Kaha li tla baloa hamorao, lintho tse tlang pele bophelong ba tsona e tla ba tse phahameng.

Ha ho hlokahale hore u kenye liparamente my.cnf. Likarolo tsohle tse hlokahalang li ka hlalosoa molaong oa taelo. Hangata ke eona feela ntho e ka beoang hantle karolong eo [backup] ea hau my.cnf ke parameter target_dir, eo ka ho sa feleng e bolelang bukana moo li-backups li tla beoa teng. Empa sena ke boikhethelo.

Mohlala oa ho hlakisa tsela e eang bukeng ka kopi ea "backup". my.cnf:

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

Backup script

U ka sebelisa sengoloa se latelang ho etsa 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

Ho etsahala'ng nakong ea script?

Pele ho tsohle, re hlakola (hlakola) bukana eo re tla boloka kopi ea "backup" ho eona:

rm -rf /mysql/backup.

Ka mor'a moo, sebelisa lisebelisoa XtraBackup etsa kopi ea "backup" ebe u e boloka ho eona /mysql/backup/:

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

Pejana, re thehile mosebelisi ho MySQL xtrabackup ka litokelo tse hlokahalang. Ho sebelisa parameter target-dir re hlakisa directory moo backup e lokelang ho bolokoa.

Ntlha ea bohlokoa!

Ela hloko mola oa script:

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

Lintlha tsa lethathamo /mysql/backup ha li tsitsane ho fihlela li phehiloe. 

'Nete ke hore liphetoho li ka etsahala ha u ntse u kopitsa lifaele. Tshebetso xtrabackup --prepare --target-dir=/mysql/backup e etsa hore bekapo ya data e tsamaisane hantle ha nako e ntse e tsamaya.

O ka etsa ts'ebetso ea ho lokisa data mochining ofe kapa ofe. Ha ho hlokahale ho etsa sena ho seva moo mohloli oa DBMS o leng teng. U ka kopitsa bekapo ho server shebiloeng le ho e lokisetsa moo.

Ntho ea ho qetela eo re e etsang ke ho theha polokelo eo re behang bekapo ea rona ho eona:

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

Ho tsosolosa bekapo 

Pele o ka khutlisetsa bekapo ho seva se lebisitsoeng, data e tlameha ho feta mohatong oa ho itokisa. Sheba ka holimo hore na u ka etsa sena joang.

Ts'ebetso ea ho hlaphoheloa ea data e bonolo haholo. U hloka ho ntša bekapo ho tswa ho archive le ho nka sebaka ya data ho ke data.

Mokhoa oa ho khutlisa data ho datadir?

A re hlahlobeng lintho tse peli tseo re ka khethang ho li etsa.

Khetho ea 1

Sebelisa lisebelisoa XtraBackup. U hloka ho totobatsa khetho --kopi-morao

Taelo e ka tlase e tla fetisetsa bekapo ho ke data Seva ea sepheo:

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

Khetho ea 2

U ka e etsa ka tsela e fapaneng, etsa ntle le thuso XtraBackup.

Seo u hlokang ho se etsa feela ke ho kopitsa bekapo ho ke data. U ka etsa sena ka cp kapa rsync.

Ho bohlokoa ho utloisisa hore ts'ebetso ea ho khutlisa backup e theohela feela ho nkela litaba tsa bukana sebaka. ke data.

Pele o qala ho khutlisa backup ho seva e shebiloeng, o tlameha ho:

  • Emisa seva sa MySQL.

  • Hlakola sephutheli ke data kapa suthisa dikahare tsa yona sebakeng se seng. Catalog ke data e tlameha ho hloka letho.

Ka mor'a ho qeta ho fetisetsa data ho ke data Seva ea MySQL e ka qala.

Thepa e sebelisoang

Litokomane tsa molao percona XtraBackup.

Source: www.habr.com

Reka sebaka se tšepahalang sa libaka tse nang le ts'ireletso ea DDoS, li-server tsa VPS VDS 🔥 Reka sebaka se tšepahalang sa ho amohela webosaete ka tšireletso ea DDoS, li-server tsa VPS VDS | ProHoster