Ṣiṣẹda afẹyinti MySQL nipa lilo ohun elo XtraBackup

Percona XtraBackup ni a IwUlO fun gbona database backups MySQL.

Nigbati o ba ṣẹda afẹyinti data, ko si awọn tabili tiipa, ati pe eto rẹ tẹsiwaju lati ṣiṣẹ laisi awọn ihamọ eyikeyi.

XtraBackup 2.4 le ṣẹda awọn idaako afẹyinti ti awọn tabili InnoDBXtraDB и MIISAMU lori olupin MySQL 5.11, 5.5, 5.6 ati 5.7, ati tun lori olupin naa percona fun MySQL с XtraDB.

Lati ṣiṣẹ pẹlu MySQL 8.x version yẹ ki o ṣee lo XtraBackup 8.x. Nkan yii yoo sọrọ nipa nikan XtraBackup 2.4.

Akọkọ anfani XtraBackup ni pe ohun elo yii dara mejeeji fun ṣiṣẹda awọn afẹyinti ti awọn olupin ti kojọpọ pupọ ati fun awọn eto pẹlu nọmba kekere ti awọn iṣowo.

Ti iwọn apapọ ti awọn apoti isura data MySQL jẹ pataki (awọn mewa ti gigabytes), lẹhinna IwUlO boṣewa mysqldump kii yoo gba ọ laaye lati ṣẹda ẹda afẹyinti ni kiakia, ati mimu-pada sipo idalẹnu yoo gba akoko pupọ.

eto

eto XtraBackup lati ibi ipamọ gbon Percona.

Ṣiṣe awọn aṣẹ wọnyi ni ọkọọkan:

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. Lẹhin fifi sori ẹrọ, ṣiṣe aṣẹ naa xtrabackup -v. Niwon, o jẹ pataki lati rii daju wipe awọn IwUlO ṣiṣẹ bi o ti tọ lori olupin. Bi abajade, iru eyi yoo han loju iboju:

xtrabackup: awọn ariyanjiyan olupin ti a mọ: - datadir =/var/lib/mysql - tmpdir=/tmp - server-id=1 - logbin=/var/log/mysql/mysql-bin.log - innodbbufferpoolsize=16384M - innodbfilepertable=1 - innodbflushmethod=Odari — innodbflushlogattrxcommit=0xtrabackup ẹya 2.4.20 ti o da lori olupin MySQL 5.7.26 Linux (x8664) ( id àtúnyẹwò: c8b4056)

Ṣiṣẹda afẹyinti MySQL nipa lilo ohun elo XtraBackup

Awọn ẹtọ wiwọle, awọn igbanilaaye ati awọn anfani 

XtraBackup yẹ ki o ni anfani lati:

  • Sopọ si olupin MySQL rẹ.

  • Ni awọn ẹtọ wiwọle si liana datadir

  • Nigbati o ba ṣẹda ẹda afẹyinti, ni awọn ẹtọ kikọ si paramita pàtó kan afojusun-dir katalogi.

Kini datadir?

datadir ni awọn liana ibi ti awọn database server MySQL itaja data. Gbogbo awọn apoti isura data, gbogbo awọn tabili wa nibẹ. Lori ọpọlọpọ awọn pinpin Lainos, itọsọna aiyipada jẹ /var/lib/mysql.

Kini itọsọna afojusun-dir?

afojusun-dir - Eleyi jẹ awọn liana ibi ti awọn afẹyinti yoo wa ni fipamọ.

Olumulo data data nilo awọn ẹtọ iraye si atẹle si awọn tabili ati awọn data data lati ṣe atilẹyin:

  • Atunse ati titii tabili

  • Onibara atunda

  • Ṣẹda TABLESPACE

  • Ilana

  • Super

  • ṣẹda

  • FI SII

  • Yan

Iṣeto ni 

Iṣeto ni XtraBackup ṣe nipa lilo awọn aṣayan ti o huwa kanna bi awọn aṣayan MySQL boṣewa.

Kini eyi tumọ si?

Awọn paramita atunto le jẹ pato boya lori laini aṣẹ tabi ni faili iṣeto DBMS, fun apẹẹrẹ ni /etc/my.cnf.

IwUlO XtraBackup ka awọn ipin lẹhin ifilọlẹ [mysqld] и [xtrabackup] lati awọn faili iṣeto MySQL. Eyi ni a ṣe ki IwUlO le lo awọn eto ti DBMS rẹ laisi nini pẹlu ọwọ pato awọn paramita lakoko afẹyinti kọọkan.

Fun apẹẹrẹ, iye datadir ati diẹ ninu awọn paramita InnoDB A gba XtraBackup lati iṣeto DBMS rẹ.

Ti o ba jẹ pe fun XtraBackup lati ṣiṣẹ o fẹ lati fopin si awọn paramita ti o wa ni apakan [mysqld], lẹhinna kan pato wọn ni faili iṣeto ni apakan [xtrabackup]. Niwọn igba ti wọn yoo ka nigbamii, pataki wọn yoo ga julọ.

O ko ni lati fi awọn paramita eyikeyi kun si mi.cnf. Gbogbo awọn paramita ti a beere le jẹ pato lori laini aṣẹ. Nigbagbogbo ohun kan ti o le ni irọrun gbe ni apakan [xtrabackup] tirẹ mi.cnf jẹ paramita afojusun_dir, eyi ti nipa aiyipada pato awọn liana ibi ti awọn afẹyinti yoo wa ni gbe. Ṣugbọn eyi jẹ iyan.

Apeere ti sisọ ọna si itọsọna pẹlu ẹda afẹyinti ni mi.cnf:

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

Akosile afẹyinti

O le lo iwe afọwọkọ atẹle lati ṣẹda afẹyinti:

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

Kini yoo ṣẹlẹ lakoko ipaniyan iwe afọwọkọ?

Ni akọkọ, a ko (paarẹ) ilana ninu eyiti a yoo fi ẹda afẹyinti pamọ:

rm -rf /mysql/backup.

Lẹhinna, lilo ohun elo XtraBackup ṣẹda daakọ afẹyinti ati fi pamọ sinu /mysql/afẹyinti/:

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

Ni iṣaaju, a ṣẹda olumulo kan ni MySQL xtrabackup pẹlu awọn anfani ti a beere. Lilo paramita target-dir a pato awọn liana ibi ti awọn afẹyinti yẹ ki o wa ni fipamọ.

Ohun pataki kan!

Ṣe akiyesi laini iwe afọwọkọ:

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

Data katalogi /mysql/afẹyinti ko ni ibamu titi ti wọn yoo fi jinna. 

Otitọ ni pe awọn ayipada le waye lakoko didakọ awọn faili. Isẹ xtrabackup --prepare --target-dir=/mysql/backup mu ki data afẹyinti ṣe deede ni ibamu lori akoko.

O le ṣe iṣẹ igbaradi data lori eyikeyi ẹrọ. Ko si iwulo lati ṣe eyi lori olupin nibiti orisun DBMS wa. O le daakọ afẹyinti si olupin ibi-afẹde ati mura silẹ nibẹ.

Ohun ti o kẹhin ti a ṣe ni ṣẹda iwe-ipamọ kan ninu eyiti a gbe afẹyinti wa:

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

Nmu afẹyinti pada 

Ṣaaju ki o to le mu afẹyinti pada si olupin ibi-afẹde, data naa gbọdọ lọ nipasẹ ipele igbaradi kan. Wo loke fun bi o ṣe le ṣe eyi.

Awọn data imularada ilana jẹ gidigidi o rọrun. O nilo lati jade awọn afẹyinti lati awọn pamosi ki o si ropo awọn data ni datadir.

Bawo ni lati ropo data ni datadir?

Ẹ jẹ́ ká gbé ọ̀nà méjì yẹ̀ wò.

Aṣayan 1

Lo ohun elo naa XtraBackup. O nilo lati pato aṣayan kan --daakọ-pada

Aṣẹ ti o wa ni isalẹ yoo gbe afẹyinti si datadir olupin afojusun:

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

Aṣayan 2

O le ṣe ni oriṣiriṣi, ṣe laisi ohun elo XtraBackup.

Gbogbo ohun ti o nilo lati ṣe ni daakọ afẹyinti si datadir. O le ṣe eyi pẹlu cp tabi rsync.

O ṣe pataki lati ni oye pe ilana fun mimu-pada sipo afẹyinti õwo si isalẹ lati kan rirọpo awọn akoonu ti liana. datadir.

Ṣaaju ki o to bẹrẹ mimu-pada sipo afẹyinti lori olupin ibi-afẹde, o gbọdọ:

  • Duro olupin MySQL.

  • Ko folda kuro datadir tabi gbe awọn akoonu rẹ si ipo miiran. Katalogi datadir gbọdọ jẹ ofo.

Lẹhin ipari gbigbe data si datadir Olupin MySQL le bẹrẹ.

Awọn ohun elo ti a lo

Awọn iwe aṣẹ osise percona XtraBackup.

orisun: www.habr.com

Fi ọrọìwòye kun