Ukudala isipele se-MySQL usebenzisa i-XtraBackup utility

I-Percona XtraBackup iyinsizakalo yama-backups edatha eshisayo MySQL.

Lapho udala ikhophi yasenqolobaneni yedatha, awekho amathebula avaliwe, futhi isistimu yakho iyaqhubeka nokusebenza ngaphandle kwemikhawulo.

I-XtraBackup 2.4 ingakha amakhophi ayisipele wamathebula InnoDBI-XtraDB и I-MyISAM kumaseva I-MySQL 5.11, 5.5, 5.6 kanye ne-5.7, futhi nakuseva IPercona ngoba MySQL с I-XtraDB.

Ukusebenza naye I-MySQL 8.x version kufanele isetshenziswe I-XtraBackup 8.x. Lesi sihloko sizokhuluma kuphela I-XtraBackup 2.4.

Inzuzo enkulu XtraBackup ukuthi lolu hlelo lokusebenza lufanele ukudala amakhophi okusekelayo alayishwe kakhulu amaseva, kanye nezinhlelo ezinenani eliphansi lokuthengiselana.

Uma usayizi ophelele wesizindalwazi sakho se-MySQL ubalulekile (amashumi amagigabhayithi), bese kuba insiza ejwayelekile umabhebhana ngeke ikuvumele ukuthi udale ngokushesha ikhophi eyisipele, futhi ukubuyisela ukulahlwa kuzothatha isikhathi esiningi.

setting

setting XtraBackup kusuka endaweni yokugcina kulungile Percona.

Qalisa imiyalo elandelayo ngokulandelana:

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. Ngemva kokufaka, sebenzisa umyalo xtrabackup -v. Njengoba, kubalulekile ukwenza isiqiniseko sokuthi insiza isebenza kahle kuseva. Ngenxa yalokho, into efana nalena izovezwa esikrinini:

I-xtrabackup: izimpikiswano zeseva ezaziwayo: - 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 esekelwe kuseva ye-MySQL 5.7.26 Linux (x8664) (i-id yokubukeza: c8b4056)

Ukudala isipele se-MySQL usebenzisa i-XtraBackup utility

Amalungelo okufinyelela, izimvume namalungelo 

I-XtraBackup kufanele ikwazi uku:

  • Xhuma kuseva yakho ye-MySQL.

  • Yiba namalungelo okufinyelela kuhla lwemibhalo idathadir

  • Lapho udala ikhophi eyisipele, yiba namalungelo okubhala kupharamitha eshiwo target-dir ikhathalogi.

Yini i-datadir?

idathadir yinkomba lapho iseva yesizindalwazi MySQL igcina idatha. Wonke ama-database, wonke amathebula akhona. Ekusakazweni okuningi kwe-Linux, inkomba ezenzakalelayo ithi /var/lib/mysql.

Iyini inkomba ye-target-dir?

target-dir - Lona umkhombandlela lapho isipele sizogcinwa khona.

Umsebenzisi wesizindalwazi udinga amalungelo alandelayo okufinyelela kumathebula nezizindalwazi ukuze kwenziwe ikhophi yasenqolobaneni:

  • KHIPHA KABUSHA futhi UKHIYE AMATHEBULA

  • REPLICATION CLIENT

  • DALA I-TABLESPACE

  • I-PROCESS

  • SUPER

  • DALA

  • BHALA

  • KHETHA

Ukucushwa 

Ukucushwa XtraBackup kwenziwa kusetshenziswa izinketho eziziphatha ngendlela efanayo nezinketho ezijwayelekile ze-MySQL.

Kusho ukuthini lokhu?

Imingcele yokumisa ingacaciswa kumugqa womyalo noma kufayela lokumisa le-DBMS, isibonelo ku- /etc/my.cnf.

I-XtraBackup Utility ifunda izingxenye ngemuva kokwethulwa [mysqld] и [isipele] kusuka kumafayela wokumisa we-MySQL. Lokhu kwenzelwa ukuthi insiza ikwazi ukusebenzisa izilungiselelo ze-DBMS yakho ngaphandle kokuthi ucacise amapharamitha ngesikhathi sokulondoloza ngakunye.

Isibonelo, inani idathadir kanye neminye imingcele InnoDB Sithola i-XtraBackup kusukela ekucushweni kwe-DBMS yakho.

Uma ukuze i-XtraBackup isebenze ufuna ukukhipha amapharamitha asesigabeni [mysqld], bese uvele uwacacise efayeleni lokumisa esigabeni [isipele]. Njengoba zizofundwa kamuva, izinto eziza kuqala kuzo zizoba phezulu.

Awudingi ukwengeza noma yimaphi amapharamitha kuwo yami.cnf. Wonke amapharamitha adingekayo angacaciswa emugqeni womyalo. Ngokuvamile okuwukuphela kwento engafakwa kalula esigabeni [isipele] yakho yami.cnf iyipharamitha target_dir, okuyinto ngokuzenzakalelayo icacisa uhla lwemibhalo lapho izipele zizobekwa khona. Kodwa lokhu kuyinketho.

Isibonelo sokucacisa indlela eya kuhla lwemibhalo ngekhophi eyisipele kuyo yami.cnf:

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

Isikripthi esiyisipele

Ungasebenzisa umbhalo olandelayo ukuze udale ikhophi yasenqolobaneni:

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

Kwenzekani ngesikhathi sokwenza iskripthi?

Okokuqala, sisula (susa) inkomba lapho sizogcina khona ikhophi eyisipele:

rm -rf /mysql/backup.

Ngemuva kwalokho, sebenzisa uhlelo lokusebenza XtraBackup dala ikhophi eyisipele bese uyigcina /mysql/isipele/:

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

Ngaphambilini, sidale umsebenzisi ku-MySQL xtrabackup ngamalungelo adingekayo. Ukusebenzisa ipharamitha target-dir sicacisa uhla lwemibhalo lapho isipele kufanele sigcinwe khona.

Iphuzu elibalulekile!

Qaphela umugqa weskripthi:

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

Idatha yekhathalogi /mysql/backup azihambisani zize ziphekwe. 

Iqiniso liwukuthi izinguquko zingenzeka ngenkathi ukopisha amafayela. Ukusebenza xtrabackup --prepare --target-dir=/mysql/backup yenza idatha eyisipele ihambisane ngokuphelele ngokuhamba kwesikhathi.

Ungenza umsebenzi wokulungiselela idatha kunoma yimuphi umshini. Asikho isidingo sokwenza lokhu kuseva lapho umthombo we-DBMS utholakala khona. Ungakwazi ukukopisha ikhophi yasenqolobaneni kuseva eqondiwe futhi uyilungiselele lapho.

Into yokugcina esiyenzayo ukudala ingobo yomlando lapho sibeka khona isipele sethu:

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

Ibuyisela ikhophi yasenqolobaneni 

Ngaphambi kokuthi ubuyisele isipele kuseva eqondiwe, idatha kufanele idlule esigabeni sokulungiselela. Bona ngenhla ukuthi ungakwenza kanjani lokhu.

Inqubo yokuthola idatha ilula kakhulu. Udinga ukukhipha isipele kungobo yomlando futhi ufake idatha esikhundleni idathadir.

Ungashintsha kanjani idatha ku-datadir?

Ake sicabangele izinketho ezimbili.

Inketho ye-1

Sebenzisa uhlelo lokusebenza XtraBackup. Udinga ukucacisa inketho --kopisha-back

Umyalo ongezansi uzodlulisela isipele ku idathadir iseva eqondiwe:

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

Inketho ye-2

Ungakwenza ngokuhlukile, ukwenze ngaphandle kosizo XtraBackup.

Odinga ukukwenza nje ukukopisha isipele ku idathadir. Ungakwenza lokhu nge cp noma rsync.

Kubalulekile ukuqonda ukuthi inqubo yokubuyisela amathumba ekhophi yasenqolobaneni imane ithathe indawo yokuqukethwe yinkomba. idathadir.

Ngaphambi kokuthi uqale ukubuyisela isipele kuseva eqondiwe, kufanele:

  • Misa iseva ye-MySQL.

  • Sula ifolda idathadir noma uhambise okuqukethwe kwayo kwenye indawo. Ikhathalogi idathadir kufanele ingabi nalutho.

Ngemva kokuqeda ukudluliswa kwedatha ku idathadir Iseva ye-MySQL ingaqalwa.

Izinto ezisetshenziswayo

Amadokhumenti asemthethweni IPercona XtraBackup.

Source: www.habr.com