የ XtraBackup መገልገያን በመጠቀም MySQL ምትኬን መፍጠር

Percona XtraBackup ለሞቅ የውሂብ ጎታ ምትኬዎች መገልገያ ነው። MySQL.

የውሂብ ምትኬን ሲፈጥሩ ምንም ጠረጴዛዎች አልተቆለፉም እና ስርዓትዎ ያለ ምንም ገደብ መስራቱን ይቀጥላል።

XtraBackup 2.4 የጠረጴዛዎች የመጠባበቂያ ቅጂዎችን መፍጠር ይችላል InnoDBXtraDB и ማይሳም በአገልጋዮች ላይ MySQL 5.11, 5.5, 5.6 እና 5.7, እና እንዲሁም በአገልጋዩ ላይ Conርኮዋ ለ MySQL с XtraDB.

አብሮ ለመስራት MySQL 8.x ስሪት ጥቅም ላይ መዋል አለበት XtraBackup 8.x ይህ ጽሑፍ የሚናገረው ስለ ብቻ ነው XtraBackup 2.4.

ዋነኛው ጠቀሜታ XtraBackup ይህ መገልገያ በጣም የተጫኑ አገልጋዮችን ምትኬ ለመፍጠር እና ዝቅተኛ የግብይቶች ብዛት ላላቸው ስርዓቶች ሁለቱም ተስማሚ ነው።

የእርስዎ MySQL የውሂብ ጎታዎች አጠቃላይ መጠን ጉልህ ከሆነ (በአስር ጊጋባይት) ከሆነ መደበኛው መገልገያ mysqldump የመጠባበቂያ ቅጂ በፍጥነት እንዲፈጥሩ አይፈቅድልዎትም, እና ቆሻሻውን ወደነበረበት መመለስ ብዙ ጊዜ ይወስዳል.

ቅንብር

ቅንብር XtraBackup ከማከማቻው ተስማሚ ፐርኮና

የሚከተሉትን ትዕዛዞች በቅደም ተከተል ያሂዱ

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. ከተጫነ በኋላ ትዕዛዙን ያሂዱ xtrabackup -v. ስለሆነም መገልገያው በአገልጋዩ ላይ በትክክል መስራቱን ማረጋገጥ አስፈላጊ ነው. በውጤቱም ፣ እንደዚህ ያለ ነገር በስክሪኑ ላይ ይታያል-

xtrabackup፡ የታወቁ የአገልጋይ ክርክሮች፡ - datadir=/var/lib/mysql - tmpdir=/tmp - አገልጋይ-መታወቂያ=1 - logbin=/var/log/mysql/mysql-bin.log - innodbbufferpoolsize=16384M - innodbfilepertable=1 - innodbflushmethod=Odirect — innodbflushlogattrxcommit=0xtrabackup ስሪት 2.4.20 በ MySQL አገልጋይ 5.7.26 ሊኑክስ (x8664) ላይ የተመሰረተ (የክለሳ መታወቂያ፡ c8b4056)

የ XtraBackup መገልገያን በመጠቀም MySQL ምትኬን መፍጠር

የመዳረሻ መብቶች፣ ፈቃዶች እና ልዩ መብቶች 

XtraBackup የሚከተሉትን ማድረግ መቻል አለበት፦

  • ከ MySQL አገልጋይዎ ጋር ይገናኙ።

  • የማውጫውን የመዳረሻ መብቶች ይኑርዎት datadir

  • የመጠባበቂያ ቅጂ ሲፈጥሩ ለተጠቀሰው ግቤት መብቶችን ይፃፉ ኢላማ-dir ካታሎግ.

ዳታዲር ምንድን ነው?

datadir የመረጃ ቋቱ አገልጋይ ያለበት ማውጫ ነው። MySQL ውሂብ ያከማቻል. ሁሉም የውሂብ ጎታዎች ፣ ሁሉም ጠረጴዛዎች እዚያ አሉ። በአብዛኛዎቹ የሊኑክስ ስርጭቶች ነባሪው ማውጫ ነው። /var/lib/mysql.

ኢላማ-dir ማውጫ ምንድን ነው?

ኢላማ-dir - ይህ የመጠባበቂያ ቅጂው የሚቀመጥበት ማውጫ ነው.

የውሂብ ጎታ ተጠቃሚው ምትኬ እንዲቀመጥላቸው የሠንጠረዦቹ እና የውሂብ ጎታዎቹ የመዳረሻ መብቶችን ይፈልጋል።

  • እንደገና ጫን እና ጠረጴዛዎችን ቆልፍ

  • ማባዛት ደንበኛ

  • የጠረጴዛ ቦታ ፍጠር

  • PROCESS

  • ሱፐር

  • ፍጠር

  • INSERT

  • ይምረጡ

ውቅር 

ውቅር XtraBackup ከመደበኛ MySQL አማራጮች ጋር ተመሳሳይ ባህሪ ያላቸውን አማራጮች በመጠቀም ተከናውኗል።

ይህ ምን ማለት ነው?

የማዋቀሪያ መለኪያዎች በትእዛዝ መስመር ወይም በዲቢኤምኤስ ውቅር ፋይል ውስጥ ለምሳሌ በ ውስጥ ሊገለጹ ይችላሉ። /etc/my.cnf.

XtraBackup መገልገያ ከጀመረ በኋላ ክፍልፋዮችን ያነባል። [mysqld] и [ተጨማሪ ምትኬ] ከ MySQL ውቅር ፋይሎች. ይህ የሚደረገው በእያንዳንዱ ምትኬ ጊዜ መለኪያዎችን እራስዎ መግለጽ ሳያስፈልግ መገልገያው የእርስዎን DBMS መቼቶች እንዲጠቀም ነው።

ለምሳሌ, እሴቱ datadir እና አንዳንድ መለኪያዎች InnoDB XtraBackupን ከእርስዎ DBMS ውቅር እናገኛለን።

XtraBackup እንዲሰራ ከሆነ በክፍሉ ውስጥ ያሉትን መለኪያዎች መሻር ይፈልጋሉ [mysqld], ከዚያም በክፍሉ ውስጥ ባለው የውቅር ፋይል ውስጥ ብቻ ይግለጹ [ተጨማሪ ምትኬ]. በኋላ ስለሚነበቡ ቅድሚያ የሚሰጡዋቸውን ይሆናል.

ምንም ግቤቶችን ማከል የለብዎትም my.cnf. ሁሉም አስፈላጊ መለኪያዎች በትእዛዝ መስመር ላይ ሊገለጹ ይችላሉ. አብዛኛውን ጊዜ በክፍሉ ውስጥ ምቹ በሆነ ሁኔታ ሊቀመጥ የሚችለው ብቸኛው ነገር [ተጨማሪ ምትኬ] ያንተ my.cnf መለኪያ ነው። ኢላማ_ድር, በነባሪነት ምትኬዎች የሚቀመጡበትን ማውጫ ይገልጻል። ግን ይህ አማራጭ ነው.

በመጠባበቂያ ቅጂ ወደ ማውጫው የሚወስደውን መንገድ የመግለጽ ምሳሌ my.cnf:

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

የመጠባበቂያ ስክሪፕት

ምትኬን ለመፍጠር የሚከተለውን ስክሪፕት መጠቀም ይችላሉ።

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

በስክሪፕት አፈፃፀም ወቅት ምን ይሆናል?

በመጀመሪያ ፣ የመጠባበቂያ ቅጂውን የምናስቀምጥበትን ማውጫ እናጸዳለን (ሰርዝ)።

rm -rf /mysql/backup.

ከዚያም መገልገያውን በመጠቀም XtraBackup የመጠባበቂያ ቅጂ ይፍጠሩ እና ያስቀምጡት / mysql / ምትኬ /:

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

ከዚህ ቀደም በ MySQL ውስጥ ተጠቃሚን ፈጠርን xtrabackup ከሚያስፈልጉት መብቶች ጋር. መለኪያውን በመጠቀም target-dir መጠባበቂያው የሚቀመጥበትን ማውጫ እንገልጻለን።

አንድ አስፈላጊ ነጥብ!

የስክሪፕት መስመሩን አስተውል፡-

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

ካታሎግ ውሂብ / mysql / ምትኬ እስኪበስል ድረስ ወጥነት የለውም. 

እውነታው ግን ፋይሎችን በሚገለበጥበት ጊዜ ለውጦች ሊከሰቱ ይችላሉ. ኦፕሬሽን xtrabackup --prepare --target-dir=/mysql/backup የመጠባበቂያ ውሂብ በጊዜ ሂደት ፍጹም ወጥ ያደርገዋል።

በማንኛውም ማሽን ላይ የውሂብ ዝግጅት ስራውን ማከናወን ይችላሉ. ምንጩ DBMS በሚገኝበት አገልጋይ ላይ ይህን ማድረግ አያስፈልግም. የመጠባበቂያ ቅጂውን ወደ ዒላማው አገልጋይ መቅዳት እና እዚያ ማዘጋጀት ይችላሉ.

እኛ የምናደርገው የመጨረሻው ነገር ምትኬን የምናስቀምጥበት ማህደር መፍጠር ነው፡-

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

ምትኬን ወደነበረበት በመመለስ ላይ 

ምትኬን ወደ ዒላማው አገልጋይ ከመመለስዎ በፊት ውሂቡ በዝግጅት ደረጃ ውስጥ ማለፍ አለበት። ይህንን እንዴት ማድረግ እንደሚቻል ከላይ ይመልከቱ።

የውሂብ መልሶ ማግኛ ሂደት በጣም ቀላል ነው. መጠባበቂያውን ከማህደሩ ማውጣት እና ውሂቡን ወደ ውስጥ መተካት ያስፈልግዎታል datadir.

በ datadir ውስጥ ውሂብን እንዴት መተካት እንደሚቻል?

ሁለት አማራጮችን እንመልከት።

አማራጭ 1

መገልገያውን ይጠቀሙ XtraBackup. አንድ አማራጭ መግለጽ ያስፈልግዎታል --መገልበጥ

ከዚህ በታች ያለው ትዕዛዝ ምትኬን ወደ እሱ ያስተላልፋል datadir ኢላማ አገልጋይ

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

አማራጭ 2

በተለየ መንገድ ሊያደርጉት ይችላሉ, ያለ መገልገያው ያድርጉት XtraBackup.

የሚያስፈልግህ የመጠባበቂያ ቅጂውን መቅዳት ብቻ ነው። datadir. ይህንን በ ጋር ማድረግ ይችላሉ cp ወይም rsync.

ምትኬን ወደነበረበት ለመመለስ ሂደቱ የማውጫውን ይዘቶች ለመተካት ብቻ እንደሚቀንስ መረዳት አስፈላጊ ነው. datadir.

በዒላማው አገልጋይ ላይ ምትኬን ወደነበረበት መመለስ ከመጀመርዎ በፊት የሚከተሉትን ማድረግ አለብዎት:

  • MySQL አገልጋይ አቁም.

  • አቃፊ አጽዳ datadir ወይም ይዘቱን ወደ ሌላ ቦታ ይውሰዱት። ካታሎግ datadir ባዶ መሆን አለበት.

የውሂብ ዝውውሩን ከጨረሱ በኋላ ወደ datadir MySQL አገልጋይ መጀመር ይቻላል.

ጥቅም ላይ የዋሉ ቁሳቁሶች

ኦፊሴላዊ ሰነዶች Conርኮዋ XtraBackup.

ምንጭ: hab.com

አስተያየት ያክሉ