Percona XtraBackup on apuohjelma kuumaan tietokannan varmuuskopiointiin MySQL.
Tietojen varmuuskopiota luotaessa yhtään taulukkoa ei lukita, ja järjestelmäsi jatkaa toimintaansa ilman rajoituksia.
XtraBackup 2.4 voi luoda varmuuskopioita taulukoista InnoDB, XtraDB и MyISAM palvelimilla MySQL 5.11, 5.5, 5.6 ja 5.7, ja myös palvelimella percona varten MySQL с XtraDB.
Työskennellä jonkun kanssa MySQL 8.x versiota tulee käyttää XtraBackup 8.x. Tässä artikkelissa puhutaan vain XtraBackup 2.4.
Tärkein etu XtraBackup Tämä apuohjelma soveltuu sekä varmuuskopioiden luomiseen erittäin kuormitetuista palvelimista että järjestelmiin, joissa on vähän tapahtumia.
Jos MySQL-tietokantojesi kokonaiskoko on merkittävä (kymmeniä gigatavuja), tavallinen apuohjelma mysqldump ei anna sinun luoda nopeasti varmuuskopiota, ja vedosten palauttaminen vie paljon aikaa.
Asennus
Asennus XtraBackup arkistosta osuva Percona.
Suorita seuraavat komennot peräkkäin:
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. Asennuksen jälkeen suorita komento xtrabackup -v
. Siksi on tärkeää varmistaa, että apuohjelma toimii oikein palvelimella. Tämän seurauksena näytöllä näkyy jotain tämän kaltaista:
xtrabackup: tunnistetut palvelinargumentit: - datadir=/var/lib/mysql - tmpdir=/tmp - server-id=1 - logbin=/var/log/mysql/mysql-bin.log - innodbbufferpoolsize=16384M - innodbfilepertable=1 - innodbflushmethod=Odirect — innodbflushlogattrxcommit=0xtrabackup-versio 2.4.20 perustuu MySQL-palvelimeen 5.7.26 Linux (x8664) (versiotunnus: c8b4056)
Käyttöoikeudet, käyttöoikeudet ja oikeudet
XtraBackupin pitäisi pystyä:
-
Yhdistä MySQL-palvelimeesi.
-
Sinulla on käyttöoikeudet hakemistoon DATADIR.
-
Kun luot varmuuskopiota, sinulla on kirjoitusoikeudet määritettyyn parametriin kohde-dir luettelo.
Mikä on datadir?
DATADIR on hakemisto, jossa tietokantapalvelin MySQL tallentaa tietoja. Kaikki tietokannat, kaikki taulukot ovat siellä. Useimmissa Linux-jakeluissa oletushakemisto on / var / lib / mysql.
Mikä on target-dir-hakemisto?
kohde-dir - Tämä on hakemisto, johon varmuuskopio tallennetaan.
Tietokannan käyttäjä tarvitsee seuraavat käyttöoikeudet taulukoihin ja tietokantoihin varmuuskopioidakseen:
-
LATAA UUDELLEEN ja LUKITTA PÖÖDÄT
-
TOISTUSASIAKAS
-
LUO PÖYTÄTILA
-
KÄSITELLÄ ASIAA
-
SUPER
-
LUODA
-
INSERT
-
VALITSE
kokoonpano
kokoonpano XtraBackup tehdään käyttämällä valintoja, jotka toimivat samalla tavalla kuin tavalliset MySQL-asetukset.
Mitä tämä tarkoittaa?
Konfigurointiparametrit voidaan määrittää joko komentorivillä tai DBMS-määritystiedostossa, esimerkiksi in /etc/my.cnf.
XtraBackup-apuohjelma lukee osiot käynnistyksen jälkeen [Mysqld] и [xtrabackup] MySQL-määritystiedostoista. Tämä tehdään, jotta apuohjelma voi käyttää DBMS-asetuksiasi ilman, että parametreja on määritettävä manuaalisesti jokaisen varmuuskopioinnin aikana.
Esimerkiksi arvo DATADIR ja joitain parametreja InnoDB Saamme XtraBackupin DBMS:si määrityksistä.
Jos haluat, että XtraBackup toimisi, haluat ohittaa osiossa olevat parametrit [Mysqld], määritä ne sitten osion asetustiedostossa [xtrabackup]. Koska ne luetaan myöhemmin, niiden prioriteetti on korkeampi.
Sinun ei tarvitse lisätä mitään parametreja my.cnf. Kaikki vaaditut parametrit voidaan määrittää komentorivillä. Yleensä ainoa asia, joka voidaan kätevästi sijoittaa osastoon [xtrabackup] teidän my.cnf on parametri kohdehakemisto, joka määrittää oletusarvoisesti hakemiston, johon varmuuskopiot sijoitetaan. Mutta tämä on valinnaista.
Esimerkki polun määrittämisestä hakemistoon, jossa on varmuuskopio my.cnf:
[xtrabackup]
target_dir = /data/backups/mysql/
Varmuuskopiointi
Voit käyttää seuraavaa komentosarjaa varmuuskopion luomiseen:
#!/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
Mitä tapahtuu skriptin suorittamisen aikana?
Ensinnäkin tyhjennämme (poistamme) hakemiston, johon tallennamme varmuuskopion:
rm -rf /mysql/backup.
Sitten apuohjelman avulla XtraBackup luo varmuuskopio ja tallenna se /mysql/backup/:
xtrabackup --user=xtrabackup --password=xxxxz1cYf95550Gc6xxxxxxxpE3rB03xxxx --backup --target-dir=/mysql/backup
Aiemmin loimme käyttäjän MySQL:ssä xtrabackup
vaadituilla oikeuksilla. Parametrin käyttäminen target-dir
määritämme hakemiston, johon varmuuskopio tulee tallentaa.
Tärkeä asia!
Huomaa skriptirivi:
xtrabackup --prepare --target-dir=/mysql/backup
Katalogin tiedot /mysql/backup eivät ole yhdenmukaisia ennen kuin ne ovat kypsennettyjä.
Tosiasia on, että muutoksia voi tapahtua kopioitaessa tiedostoja. Operaatio xtrabackup --prepare --target-dir=/mysql/backup
tekee varmuuskopiotiedoista täydellisen yhdenmukaisia ajan kuluessa.
Voit suorittaa tietojen valmistelutoiminnon millä tahansa koneella. Tätä ei tarvitse tehdä palvelimella, jossa lähdetietokantajärjestelmä sijaitsee. Voit kopioida varmuuskopion kohdepalvelimelle ja valmistella sen siellä.
Viimeinen asia, jonka teemme, on luoda arkisto, johon sijoitamme varmuuskopiomme:
tar -zcvf /home/developer/dumps/xtrabackup-all-dbs-«$(date % F% H% M% S)».gz /mysql/backup
Varmuuskopion palauttaminen
Ennen kuin voit palauttaa varmuuskopion kohdepalvelimelle, tietojen on läpäistävä valmisteluvaihe. Katso edellä, kuinka tämä tehdään.
Tietojen palautusprosessi on hyvin yksinkertainen. Sinun on purettava varmuuskopio arkistosta ja korvattava tiedot DATADIR.
Kuinka korvata tiedot datahakemistossa?
Harkitse kahta vaihtoehtoa.
Vaihtoehto 1
Käytä apuohjelmaa XtraBackup. Sinun on määritettävä vaihtoehto --kopioi takaisin.
Alla oleva komento siirtää varmuuskopion kohteeseen DATADIR kohdepalvelin:
xtrabackup --copy-back --target-dir=/mysql/backup
Vaihtoehto 2
Voit tehdä sen toisin, ilman apuohjelmaa XtraBackup.
Sinun tarvitsee vain kopioida varmuuskopio kohteeseen DATADIR. Voit tehdä tämän kanssa cp tai rsync.
On tärkeää ymmärtää, että varmuuskopion palautusprosessi tiivistyy vain hakemiston sisällön korvaamiseen DATADIR.
Ennen kuin aloitat varmuuskopion palauttamisen kohdepalvelimella, sinun on:
-
Pysäytä MySQL-palvelin.
-
Tyhjennä kansio DATADIR tai siirrä sen sisältö toiseen paikkaan. Luettelo DATADIR on oltava tyhjä.
Kun tiedonsiirto on valmis DATADIR MySQL-palvelin voidaan käynnistää.
käytetyt materiaalit
Lähde: will.com