Percona XtraBackup egy segédprogram forró adatbázis-mentésekhez MySQL.
Adatmentés létrehozásakor egyetlen tábla sem zárolódik, és a rendszer korlátozások nélkül működik tovább.
XtraBackup 2.4 biztonsági másolatot készíthet a táblázatokról InnoDB, XtraDB и MyISAM szervereken MySQL 5.11, 5.5, 5.6 és 5.7, és a szerveren is percona a MySQL с XtraDB.
Valakivel együtt dolgozni MySQL 8.x verziót kell használni XtraBackup 8.x. Ebben a cikkben csak erről lesz szó XtraBackup 2.4.
A fő előnye XtraBackup az, hogy ez a segédprogram alkalmas a nagy terhelésű fájlok biztonsági másolatainak létrehozására szervereket, valamint alacsony tranzakciószámú rendszerek esetében.
Ha a MySQL adatbázisok teljes mérete jelentős (tíz gigabájt), akkor a szabványos segédprogram mysqldump nem teszi lehetővé a biztonsági másolat gyors létrehozását, és a dump visszaállítása sok időt vesz igénybe.
Telepítés
Telepítés XtraBackup az adattárból hajlamos Percona.
Futtassa egymás után a következő parancsokat:
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-242. A telepítés után futtassa a parancsot xtrabackup -v. Mivel fontos megbizonyosodni arról, hogy a segédprogram megfelelően működik a szerveren. Ennek eredményeként valami ehhez hasonló jelenik meg a képernyőn:
xtrabackup: felismert szerver argumentumok: - 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 verzió a MySQL szerver 5.7.26 alapján Linux (x8664) (verzióazonosító: c8b4056)

Hozzáférési jogok, engedélyek és kiváltságok
Az XtraBackupnak képesnek kell lennie:
Csatlakozzon a MySQL szerverhez.
Hozzáférési jogokkal kell rendelkeznie a címtárhoz adatkönyvtár.
Biztonsági másolat készítésekor legyen írási joga a megadott paraméterhez cél-dir katalógus.
Mi az a datadir?
adatkönyvtár az a könyvtár, ahol az adatbázis-kiszolgáló található MySQL adatokat tárol. Minden adatbázis, minden tábla ott található. A legtöbb disztribúcióban Linux Alapértelmezés szerint ez a könyvtár / var / lib / mysql.
Mi az a target-dir könyvtár?
cél-dir - Ez az a könyvtár, ahová a biztonsági másolat mentésre kerül.
Az adatbázis-felhasználónak a következő hozzáférési jogokra van szüksége a táblákhoz és adatbázisokhoz a biztonsági mentéshez:
A TÁBLÁZATOK ÚJRATÖLTÉSE és ZÁROLÁSA
REPLIKÁCIÓS KLIENS
ASZTALTERÜLET LÉTREHOZÁSA
FOLYAMAT
SUPER
TEREMT
INSERT
SELECT
Configuration
Configuration XtraBackup olyan opciókkal történik, amelyek ugyanúgy viselkednek, mint a szokásos MySQL-beállítások.
Mit jelent ez?
A konfigurációs paraméterek a parancssorban vagy a DBMS konfigurációs fájlban adhatók meg, például in /etc/my.cnf.
Az XtraBackup segédprogram beolvassa a partíciókat az indítás után [Mysqld] и [xtrabackup] a MySQL konfigurációs fájlokból. Ez azért történik, hogy a segédprogram anélkül tudja használni a DBMS beállításait, hogy manuálisan kellene megadnia a paramétereket minden biztonsági mentés során.
Például az érték adatkönyvtár és néhány paraméter InnoDB Az XtraBackupot a DBMS konfigurációjából kapjuk.
Ha az XtraBackup működéséhez felül szeretné bírálni a szakaszban szereplő paramétereket [Mysqld], majd csak adja meg őket a szakasz konfigurációs fájljában [xtrabackup]. Mivel később lesznek elolvasva, nagyobb prioritást élveznek.
Nem kell hozzá semmilyen paramétert hozzáadni my.cnf. Minden szükséges paraméter megadható a parancssorban. Általában az egyetlen dolog, ami kényelmesen elhelyezhető a szekcióban [xtrabackup] az övé my.cnf egy paraméter cél_könyvtár, amely alapértelmezés szerint azt a könyvtárat adja meg, ahová a biztonsági másolatok kerülnek. De ez nem kötelező.
Példa a könyvtár elérési útjának megadására biztonsági másolattal my.cnf:
[xtrabackup]
target_dir = /data/backups/mysql/Biztonsági szkript
Biztonsági másolat készítéséhez használhatja a következő szkriptet:
#!/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/backupMi történik a szkript végrehajtása során?
Először is töröljük (töröljük) azt a könyvtárat, amelybe a biztonsági másolatot mentjük:
rm -rf /mysql/backup.
Ezután a segédprogram használatával XtraBackup készítsen biztonsági másolatot, és mentse el /mysql/backup/:
xtrabackup --user=xtrabackup --password=xxxxz1cYf95550Gc6xxxxxxxpE3rB03xxxx --backup --target-dir=/mysql/backupKorábban létrehoztunk egy felhasználót a MySQL-ben xtrabackup a szükséges jogosultságokkal. A paraméter használatával target-dir megadjuk a könyvtárat, ahová a biztonsági másolatot menteni kell.
Важный момент!
Jegyezze meg a script sort:
xtrabackup --prepare --target-dir=/mysql/backup
Katalógus adatok /mysql/backup nem egyenletesek, amíg meg nem főzték.
A tény az, hogy a fájlok másolása közben változások történhetnek. Művelet xtrabackup --prepare --target-dir=/mysql/backup tökéletesen konzisztenssé teszi a biztonsági mentési adatokat az idő múlásával.
Az adat-előkészítési műveletet bármilyen gépen elvégezheti. Ezt nem kell megtenni azon a kiszolgálón, ahol a forrás DBMS található. A biztonsági másolatot átmásolhatja a célkiszolgálóra, és ott előkészítheti.
Az utolsó dolgunk, hogy létrehozunk egy archívumot, amelyben elhelyezzük a biztonsági másolatot:
tar -zcvf /home/developer/dumps/xtrabackup-all-dbs-«$(date % F% H% M% S)».gz /mysql/backupBiztonsági másolat visszaállítása
Mielőtt visszaállíthatná a biztonsági másolatot a célkiszolgálóra, az adatoknak át kell menniük egy előkészítési fázison. Ennek módját lásd fent.
Az adat-helyreállítási folyamat nagyon egyszerű. Ki kell bontania a biztonsági másolatot az archívumból, és ki kell cserélnie az adatokat adatkönyvtár.
Hogyan lehet adatokat cserélni a datadirben?
Vegyünk két lehetőséget.
Az 1 opció
Használja a segédprogramot XtraBackup. Meg kell adnia egy lehetőséget --másolás-vissza.
Az alábbi parancs átviszi a biztonsági másolatot ide adatkönyvtár célszerver:
xtrabackup --copy-back --target-dir=/mysql/backupAz 2 opció
Megteheti másként is, a segédprogram nélkül XtraBackup.
Mindössze annyit kell tennie, hogy másolja a biztonsági másolatot ide adatkönyvtár. Ezzel megteheti cp vagy rsync.
Fontos megérteni, hogy a biztonsági mentés visszaállításának folyamata csak a könyvtár tartalmának cseréjére terjed ki. adatkönyvtár.
Mielőtt elkezdené a biztonsági másolat visszaállítását a célkiszolgálón, a következőket kell tennie:
Állítsa le a MySQL szervert.
Mappa törlése adatkönyvtár vagy helyezze át a tartalmát egy másik helyre. Katalógus adatkönyvtár üresnek kell lennie.
Az adatátvitel befejezése után a adatkönyvtár A MySQL szerver elindítható.
Használt anyagok
.
Forrás: will.com
