Kupanga zosunga zobwezeretsera MySQL pogwiritsa ntchito chida cha XtraBackup

Percona XtraBackup ndi chida chothandizira ma backups otentha a database MySQL.

Mukamapanga zosunga zobwezeretsera, palibe matebulo otsekedwa, ndipo makina anu akupitilizabe kugwira ntchito popanda zoletsa zilizonse.

XtraBackup 2.4 akhoza kupanga zosunga zobwezeretsera matebulo InnoDBZithunzi za XtraDB и MYISAM pa seva MySQL 5.11, 5.5, 5.6 ndi 5.7, komanso pa seva percona chifukwa MySQL с Zithunzi za XtraDB.

Kugwira ntchito ndi MySQL 8.x version iyenera kugwiritsidwa ntchito XtraBackup 8.x. Nkhaniyi ingokamba XtraBackup 2.4.

Ubwino waukulu XtraBackup ndi chakuti chida ichi ndi choyenera kupanga makope osungira zinthu zodzaza kwambiri maseva, komanso machitidwe omwe ali ndi kuchuluka kochepa kwa zochitika.

Ngati kukula konse kwa nkhokwe zanu za MySQL ndizofunika (makumi a ma gigabytes), ndiye kuti mulingo woyenera magwire sikukulolani kuti mupange kopi yosunga zobwezeretsera mwachangu, ndipo kubwezeretsanso kutaya kumatenga nthawi yambiri.

kolowera

kolowera XtraBackup kuchokera kunkhokwe zoyenerera Percona.

Pangani malamulo otsatirawa motsatizana:

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. Pambuyo unsembe, kuthamanga lamulo xtrabackup -v. Chifukwa chake, ndikofunikira kuwonetsetsa kuti ntchitoyo imagwira ntchito bwino pa seva. Zotsatira zake, chinthu chonga ichi chidzawonetsedwa pazenera:

xtrabackup: mfundo zodziwika bwino za seva: - datadir=/var/lib/mysql - tmpdir=/tmp - seva-id=1 - logbin=/var/log/mysql/mysql-bin.log - innodbbufferpoolsize=16384M - innodbfilepertable=1 - innodbflushmethod=Odirect - innodbflushlogattrxcommit=0xtrabackup mtundu 2.4.20 kutengera seva ya MySQL 5.7.26 Linux (x8664) (chizindikiritso chosinthidwa: c8b4056)

Kupanga zosunga zobwezeretsera MySQL pogwiritsa ntchito chida cha XtraBackup

Ufulu wofikira, zilolezo ndi mwayi 

XtraBackup iyenera kukhala:

  • Lumikizani ku seva yanu ya MySQL.

  • Khalani ndi ufulu wolowa m'ndandanda datadir

  • Mukamapanga kopi yosunga zobwezeretsera, khalani ndi ufulu wolembera ku parameter yomwe mwasankha target-dir ndandanda.

Kodi datadir ndi chiyani?

datadir ndiye chikwatu komwe seva ya database MySQL Ma database onse, matebulo onse ali pamenepo. Mu magawidwe ambiri Linux Mwachisawawa, chikwatu ichi ndi /var/lib/mysql.

Kodi target-dir directory ndi chiyani?

target-dir - Ichi ndiye chikwatu komwe zosunga zobwezeretsera zidzasungidwa.

Wogwiritsa ntchito database amafunikira maufulu otsatirawa opezeka pamatebulo ndi nkhokwe kuti asungidwe kumbuyo:

  • RUZANI NDI KUKHOKA MATEbulo

  • REPLICATION CLIENT

  • PANGANI TABLESPACE

  • MFUNDO

  • SUPER

  • Pangani

  • LANDANI

  • SANKHANI

Kukhazikika 

Kukhazikika XtraBackup zachitika pogwiritsa ntchito zosankha zomwe zimakhala zofanana ndi zosankha za MySQL.

Kodi izi zikutanthauzanji?

Zosintha zosintha zitha kufotokozedwa pamzere wamalamulo kapena mufayilo yosinthira ya DBMS, mwachitsanzo mu /etc/my.cnf.

XtraBackup utility imawerenga magawo pambuyo poyambitsa [mysqld] и [zosunga zobwezeretsera] kuchokera ku mafayilo osinthika a MySQL. Izi zachitika kuti zofunikira zitha kugwiritsa ntchito zoikamo za DBMS yanu popanda kufotokozera pamanja magawo panthawi yosunga.

Mwachitsanzo, mtengo datadir ndi magawo ena InnoDB Timapeza XtraBackup kuchokera pakusintha kwa DBMS yanu.

Ngati XtraBackup igwire ntchito mukufuna kupitilira magawo omwe ali mugawoli [mysqld], ndiye ingowafotokozerani mufayilo yosinthira mugawolo [zosunga zobwezeretsera]. Popeza kuti adzawerengedwa pambuyo pake, chofunika kwambiri chawo chidzakhala chapamwamba.

Simukuyenera kuwonjezera magawo aliwonse wanga.cnf. Magawo onse ofunikira amatha kufotokozedwa pamzere wolamula. Kawirikawiri chinthu chokhacho chomwe chikhoza kuikidwa mosavuta mu gawoli [zosunga zobwezeretsera] lanu wanga.cnf ndi parameter target_dir, yomwe mwachisawawa imatchula chikwatu komwe zosunga zobwezeretsera zidzayikidwa. Koma izi ndizosankha.

Chitsanzo chofotokozera njira yopita ku bukhuli ndi kopi yosunga zobwezeretsera wanga.cnf:

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

Sungani script

Mutha kugwiritsa ntchito script zotsatirazi kuti mupange zosunga zobwezeretsera:

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

Kodi chimachitika ndi chiyani pakupanga script?

Choyamba, timachotsa (kuchotsa) chikwatu momwe tidzasungirako zosunga zobwezeretsera:

rm -rf /mysql/backup.

Kenako, kugwiritsa ntchito XtraBackup pangani kopi yosunga ndikusunga /mysql/zosunga zobwezeretsera/:

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

M'mbuyomu, tidapanga wogwiritsa ntchito mu MySQL xtrabackup ndi mwayi wofunikira. Kugwiritsa ntchito parameter target-dir timafotokozera ndandanda yomwe zosunga zobwezeretsera ziyenera kusungidwa.

Mfundo yofunikira!

Dziwani mzere wa script:

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

Catalog data /mysql/backup sizikugwirizana mpaka zitaphikidwa. 

Chowonadi ndi chakuti zosintha zitha kuchitika pokopera mafayilo. Ntchito xtrabackup --prepare --target-dir=/mysql/backup imapangitsa zosunga zobwezeretsera kukhala zogwirizana pakapita nthawi.

Mukhoza kuchita ntchito yokonzekera deta pa makina aliwonse. Palibe chifukwa chochitira izi pa seva pomwe gwero la DBMS lili. Mutha kukopera zosunga zobwezeretsera ku seva yomwe mukufuna ndikuikonzekera pamenepo.

Chomaliza chomwe timachita ndikupanga nkhokwe momwe timayika zosunga zobwezeretsera zathu:

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

Kubwezeretsa zosunga zobwezeretsera 

Musanayambe kubwezeretsa zosunga zobwezeretsera ku seva yomwe mukufuna, deta iyenera kudutsa gawo lokonzekera. Onani pamwambapa momwe mungachitire izi.

The deta kuchira ndondomeko ndi losavuta. Muyenera kuchotsa zosunga zobwezeretsera ku archive ndikusintha deta mu datadir.

Momwe mungasinthire deta mu datadir?

Tiyeni tione zinthu ziwiri zimene mungachite.

Zosankha 1

Gwiritsani ntchito XtraBackup. Muyenera kufotokoza njira --kopera-kubwerera

Lamulo ili m'munsimu lidzasamutsa zosunga zobwezeretsera ku datadir chandamale seva:

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

Zosankha 2

Mukhoza kuchita mosiyana, kuchita popanda zofunikira XtraBackup.

Zomwe muyenera kuchita ndikutengera zosunga zobwezeretsera datadir. Mutha kuchita izi ndi cp kapena rsync.

Ndikofunikira kumvetsetsa kuti njira yobwezeretsera zosunga zobwezeretsera imangotengera zomwe zili mu bukhuli. datadir.

Musanayambe kubwezeretsa zosunga zobwezeretsera pa seva yomwe mukufuna, muyenera:

  • Imitsa seva ya MySQL.

  • Chotsani chikwatu datadir kapena kusuntha zomwe zili mkati mwake kumalo ena. Catalogi datadir iyenera kukhala yopanda kanthu.

Mukamaliza kusamutsa deta ku datadir Seva ya MySQL ikhoza kuyambika.

Zida zamagwiritsidwe ntchito

Zolemba zovomerezeka percona XtraBackup.

Source: www.habr.com

Gulani kuchititsa kodalirika kwamasamba okhala ndi chitetezo cha DDoS, ma seva a VPS VDS Gulani malo odalirika osungira mawebusayiti okhala ndi chitetezo cha DDoS, ma seva a VPS VDS | ProHoster