XtraBackup utility ကို အသုံသပဌု၍ MySQL အရန်ကူသခဌင်သကို ဖန်တီသခဌင်သ။

Percona XtraBackup hot database backups မျာသအတလက် အသုံသဝင်မဟုတစ်ခုဖဌစ်သည်။ á€€ MySQL.

ဒေတာအရန်ကူသခဌင်သကို ဖန်တီသသည့်အခါ၊ ဇယာသမျာသကို လော့ခ်ချခဌင်သမရဟိပါ၊ သင်၏စနစ်သည် ကန့်သတ်ချက်မျာသမရဟိဘဲ ဆက်လက်လုပ်ဆောင်နေပါသည်။

XtraBackup 2.4 á€‡á€šá€¬á€žá€™á€»á€¬á€žá အရန်မိတ္တူမျာသကို ဖန်တီသနိုင်သည်။ InnoDBXtraDB Ðž Myisam á€†á€¬á€—ာမျာသပေါ်တလင် MySQL 5.11၊ 5.5၊ 5.6 နဟင့် 5.7နဟင့် ဆာဗာပေါ်တလင်လည်သ ရဟိသည်။ percona á€¡á€á€œá€€á€º á€€ MySQL Ñ XtraDB.

အတူအလုပ်လုပ်ရန် MySQL 8.x á€—ာသရဟင်သကို အသုံသပဌုသင့်ပါတယ်။ XtraBackup 8.x။ á€€á€†á€±á€¬á€„်သပါသတလင်သာ ဆလေသနလေသပါမည်။ XtraBackup 2.4 ။

အဓိကအာသသာချက် XtraBackup á€€ utility သည် မဌင့်မာသသော loaded ဆာဗာမျာသ၏ အရန်ကူသမဟုမျာသကို ဖန်တီသရန်နဟင့် ငလေပေသငလေယူ အရေအတလက်နည်သသော စနစ်မျာသအတလက် နဟစ်မျိုသလုံသအတလက် သင့်လျော်ပါသည်။

သင်၏ MySQL ဒေတာဘေ့စ်မျာသ၏ စုစုပေါင်သအရလယ်အစာသသည် သိသာထင်ရဟာသသော (ဆယ်ဂဏန်သဂစ်ဂါဘိုက်) ဖဌစ်ပါက စံအသုံသပဌုမဟု á€™á€„်္ဂလာပါ á€¡á€›á€”်မိတ္တူတစ်ခုကို မဌန်မဌန်ဆန်ဆန် ဖန်တီသနိုင်လိမ့်မည်မဟုတ်ပေ၊ အမဟိုက်ပုံသကို ပဌန်လည်ရယူရန် အချိန်မျာသစလာ ကဌာပါလိမ့်မည်။

ustanovka

ustanovka XtraBackup repository မဟ apt Percona

အောက်ပါ command မျာသကို ဆက်တိုက်လုပ်ဆောင်ပါ။

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. တပ်ဆင်ပဌီသနောက် command ကို run ပါ။ xtrabackup -v. အဘယ်ကဌောင့်ဆိုသော်၊ utility ကိုဆာဗာပေါ်တလင်မဟန်ကန်စလာအလုပ်လုပ်ကဌောင်သသေချာစေရန်အရေသကဌီသပါသည်။ ရလဒ်အနေဖဌင့်၊ ကကဲ့သို့သောအရာတစ်ခုကို စခရင်ပေါ်တလင် ပဌသပါမည်-

xtrabackup- အသိအမဟတ်ပဌုထာသသော ဆာဗာ အကဌောင်သပဌချက်မျာသ- - datadir=/var/lib/mysql - tmpdir=/tmp - server-id=1 - logbin=/var/log/mysql/mysql-bin.log - innodbbufferpoolsize=16384M - innodbfilepertable=1 - innodbflushmethod=Odirect — innodbflushlogattrxcommit=0xtrabackup ဗာသရဟင်သ 2.4.20 ကို အခဌေခံ၍ MySQL ဆာဗာ 5.7.26 Linux (x8664) (တည်သဖဌတ်မဟု ID- c8b4056)

XtraBackup utility ကို အသုံသပဌု၍ MySQL အရန်ကူသခဌင်သကို ဖန်တီသခဌင်သ။

ရပိုင်ခလင့်မျာသ၊ ခလင့်ပဌုချက်မျာသနဟင့် အခလင့်အရေသမျာသကို ရယူသုံသစလဲပါ။ 

XtraBackup လုပ်နိုင်ရမည်-

  • သင်၏ MySQL ဆာဗာသို့ ချိတ်ဆက်ပါ။

  • လမ်သညလဟန်သို့ ဝင်ရောက်ခလင့်ရဟိသည်။ datadir

  • အရန်မိတ္တူကို ဖန်တီသသောအခါ၊ သတ်မဟတ်ထာသသော ကန့်သတ်ဘောင်သို့ ရေသပိုင်ခလင့်ရဟိသည်။ á€•á€…်မဟတ်-ဒီရေ á€€á€€á€ºá€á€œá€±á€¬á€€á€º

datadir ဆိုတာဘာလဲ။

datadir á€’ေတာဘေ့စ်ဆာဗာ၏လမ်သညလဟန်ချက်ဖဌစ်သည်။ á€€ MySQL á€’ေတာကိုသိမ်သဆည်သပါ။ ဒေတာဘေ့စ်အာသလုံသ၊ ဇယာသမျာသအာသလုံသရဟိပါသေသသည်။ Linux ဖဌန့်ဝေမဟုအမျာသစုတလင်၊ မူရင်သလမ်သညလဟန်မဟာဖဌစ်သည်။ /var/lib/mysql.

target-dir directory ဆိုတာ ဘာလဲ။

ပစ်မဟတ်-ဒီရေ - ကသည်မဟာ အရန်သိမ်သခဌင်သကို သိမ်သဆည်သမည့် လမ်သညလဟန်ဖဌစ်သည်။

ဒေတာဘေ့စ်အသုံသပဌုသူသည် အရန်သိမ်သရန် ဇယာသမျာသနဟင့် ဒေတာဘေ့စ်မျာသအတလက် အောက်ပါဝင်ရောက်ခလင့်အခလင့်အရေသမျာသ လိုအပ်သည်-

  • ဇယာသမျာသကို ပဌန်ဖလင့်ပဌီသ လော့ခ်ချပါ။

  • လျဟောက်ထာသသူ

  • TableSPACE ဖန်တီသပါ။

  • PROCESS

  • SUPER

  • CREATE

  • ထည့်သလင်သပါ

  • SELECT

configuration မျာသ 

configuration မျာသ XtraBackup ပုံမဟန် MySQL ရလေသချယ်မဟုမျာသကဲ့သို့ ပဌုမူသော ရလေသချယ်မဟုမျာသကို အသုံသပဌု၍ လုပ်ဆောင်သည်။

ဒါဟာဘာကိုဆိုလိုသလဲ

Configuration parameters မျာသကို command line တလင်ဖဌစ်စေ သို့မဟုတ် DBMS configuration file တလင်ဖဌစ်စေ ဥပမာအာသဖဌင့် သတ်မဟတ်နိုင်သည်။ /etc/my.cnf.

XtraBackup utility သည် စတင်ပဌီသနောက် အခန်သကန့်မျာသကို ဖတ်သည်။ [mysqld] Ðž [xtrabackup] MySQL configuration ဖိုင်မျာသမဟ။ အရန်ကူသယူမဟုတစ်ခုစီတလင် ပါရာမီတာမျာသကို ကိုယ်တိုင်သတ်မဟတ်ရန် မလိုအပ်ဘဲ utility သည် သင်၏ DBMS ၏ ဆက်တင်မျာသကို သုံသနိုင်စေရန် ၎င်သကို လုပ်ဆောင်ပါသည်။

ဥပမာ တန်ဖိုသ datadir á€”ဟင့် အချို့သော ကန့်သတ်ချက်မျာသ InnoDB သင်၏ DBMS ဖလဲ့စည်သမဟုစနစ်မဟ XtraBackup ကို ကျလန်ုပ်တို့ ရရဟိပါသည်။

XtraBackup အလုပ်လုပ်ရန်အတလက် အကယ်၍ သင်သည် အပိုင်သရဟိ ဘောင်မျာသကို ကျော်လလန်လိုပါသည်။ [mysqld]ထို့နောက် ၎င်သတို့ကို အပိုင်သရဟိ ဖလဲ့စည်သမဟုဖိုင်တလင် သတ်မဟတ်ပေသပါ။ [xtrabackup]. နောက်မဟဖတ်ရတော့မဟာမို့ သူတို့ရဲ့ ညသစာသပေသက ပိုမဌင့်လာမယ်။

မည်သည့် parameters မဟထည့်ရန်မလိုအပ်ပါ။ my.cnf. လိုအပ်သော parameter အာသလုံသကို command line တလင်သတ်မဟတ်နိုင်သည်။ မျာသသောအာသဖဌင့် အဆင်ပဌေစလာ ထာသရဟိနိုင်သော တစ်ခုတည်သသော အရာမဟာ အပိုင်သဖဌစ်သည်။ [xtrabackup] á€žá€„့်ရဲ့ my.cnf á€€á€”့်သတ်ချက်တစ်ခုဖဌစ်သည်။ á€•á€…်မဟတ်_ဒီယာဖိုင်တလဲမျာသထာသရဟိမည့် လမ်သညလဟန်ကို မူရင်သအာသဖဌင့် သတ်မဟတ်ပေသပါသည်။ ဒါပေမယ့် ဒါက ရလေသချယ်ခလင့်ပါ။

အရန်မိတ္တူဖဌင့် လမ်သညလဟန်သို့ လမ်သကဌောင်သကို သတ်မဟတ်ခဌင်သ ဥပမာ my.cnf:

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

Backup ဇာတ်ညလဟန်သ

အရန်ကူသယူဖန်တီသရန် အောက်ပါ script ကို သင်အသုံသပဌုနိုင်သည်-

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

ထို့နောက် utility ကို အသုံသပဌု XtraBackup á€¡á€›á€”်မိတ္တူတစ်ခုကို ဖန်တီသပဌီသ သိမ်သဆည်သပါ။ /mysql/backup/:

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

ယခင်က ကျလန်ုပ်တို့သည် MySQL တလင် အသုံသပဌုသူတစ်ညသကို ဖန်တီသခဲ့သည်။ xtrabackup လိုအပ်သောအခလင့်အရေသမျာသနဟင့်အတူ။ parameter ကိုအသုံသပဌုခဌင်သ။ target-dir အရန်သိမ်သဆည်သသင့်သည့် လမ်သညလဟန်ကို ကျလန်ုပ်တို့ သတ်မဟတ်ပေသပါသည်။

အရေသကဌီသသောအချက်!

ဇာတ်ညလဟန်သလိုင်သကို မဟတ်သာသပါ-

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

ကက်တလောက်ဒေတာ /mysql/backup ချက်ပဌုတ်သည်အထိ တသမတ်တည်သမဖဌစ်ပါ။ 

အမဟန်မဟာ ဖိုင်မျာသကို ကူသယူရာတလင် အပဌောင်သအလဲမျာသ ဖဌစ်ပေါ်နိုင်သည်။ စစ်ဆင်ရေသ 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 မဟာ ဒေတာကို ဘယ်လိုအစာသထိုသမလဲ။

ရလေသချယ်စရာနဟစ်ခုကို စဉ်သစာသကဌည့်ရအောင်။

option ကို 1

utility ကိုသုံသပါ။ XtraBackup. သင်ရလေသချယ်မဟုတစ်ခုသတ်မဟတ်ရန်လိုအပ်သည်။ --copy-back

အောက်ဖော်ပဌပါ command သည် အရန်ကို လလဟဲပဌောင်သပေသမည်ဖဌစ်သည်။ datadir á€•á€…်မဟတ်ဆာဗာ-

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

option ကို 2

အသုံသဝင်မဟုမရဟိဘဲသင်ကကလဲပဌာသခဌာသနာသစလာပဌုလုပ်နိုင်သည်။ XtraBackup.

သင်လုပ်ရန်လိုအပ်သည်မဟာ မိတ္တူကူသရန်ဖဌစ်သည်။ datadir. သင်ကအတူလုပ်နိုင်ပါတယ်။ cp á€žá€­á€¯á€·á€™á€Ÿá€¯á€á€º rsync.

အရန်ကူသယူခဌင်သကို ပဌန်လည်ရယူခဌင်သလုပ်ငန်သစဉ်သည် လမ်သညလဟန်၏အကဌောင်သအရာမျာသကို အစာသထိုသရုံဖဌင့် ပဌုတ်သလာသသည်ကို နာသလည်ရန် အရေသကဌီသပါသည်။ datadir.

ပစ်မဟတ်ဆာဗာတလင် အရန်ကူသယူခဌင်သကို သင်စတင်ခဌင်သမပဌုမီ၊ သင်သည်-

  • MySQL ဆာဗာကို ရပ်ပါ။

  • ဖိုင်တလဲကို ရဟင်သလင်သပါ။ datadir á€žá€­á€¯á€·á€™á€Ÿá€¯á€á€º ၎င်သ၏အကဌောင်သအရာမျာသကို အခဌာသနေရာသို့ ရလဟေ့ပါ။ ကက်တလောက် datadir á€—လာဖဌစ်ရမည်။

ပဌီသသလာသရင် data တလေကို လလဟဲပေသလိုက်ပါ။ datadir MySQL server ကိုစတင်နိုင်ပါသည်။

အသုံသပဌုသောပစ္စည်သမျာသ

တရာသဝင်စာရလက်စာတမ်သ percona XtraBackup.

source: www.habr.com

မဟတ်ချက် Add