Hot Backups s Percona XtraBackup na One-Click WordPress App

Obsah

  • Úvod
  • Predpoklady
  • Krok 1: Vytvorte používateľa systému, ktorý nie je root
  • Krok 2: Skontrolujte ukladací mechanizmus
  • Krok 3: Vytvorte používateľa databázy na zálohovanie
  • Krok 4: Nainštalujte Percona XtraBackup
  • Krok 5: Vytvorte adresáre zálohovania
  • Krok 6: Vytvorte prvú úplnú zálohu
  • Krok 7: Vytvorte nasledujúce prírastkové zálohy
  • Krok 8: Pripravte záložné súbory na obnovenie databázy
  • Krok 9: Obnovte databázu
  • Ďalšie kroky

Úvod

Percona XtraBackup je bezplatný program založený na MySQL, ktorý sa používa na vytváranie horúcich záloh. Je to tiež open-source. S Percona XtraBackup môžete vytvárať horúce zálohy spustených databáz MySQL, MariaDB alebo Percona Server bez zastavenia vašej databázovej služby alebo jej nastavenia len na čítanie. Toto je kritická funkcia pre mnohé online podniky.

Pre databázy využívajúce úložné motory InnoDB, XtraDB a HailDB môže Percona XtraBackup vykonávať neblokované zálohy. Pre databázy využívajúce úložné motory MyISAM, Merge a Archive môže Percona XtraBackup vykonávať zálohy aj krátkym pozastavením zápisu na konci procedúry zálohovania.

V tomto článku vám ukážem, ako nainštalovať a používať Percona XtraBackup na vykonávanie úplných a prírastkových horúcich záloh na serveri Vultr založenom na aplikácii One-Click WordPress. Vykonáme úplnú zálohu a dve prírastkové zálohy a následne podľa toho obnovíme databázu do stavu každej z troch záloh.

Predpoklady

Predpokladám, že ste nasadili inštanciu servera One-Click WordPress Vultr od začiatku a prihlásili ste sa ako root pomocou SSH.

Krok 1: Vytvorte používateľa systému, ktorý nie je root

Z bezpečnostných dôvodov sa odporúča vytvoriť ďalšie používateľské konto s oprávneniami root, potom ho použiť na prihlásenie a vykonávanie každodenných operácií v systéme. Pomocou sudopríkazu môžete stále vykonávať takmer všetky príkazy superužívateľa .

1) Vytvorte nového používateľa. Nahraďte ho sysuservlastným užívateľským menom.

useradd sysuser

2) Nastavte heslo pre nového používateľa. Nahraďte ho sysuservlastným užívateľským menom.

passwd sysuser

3) Udeľte svojmu novému používateľovi oprávnenia typu root.

visudo

Nájdite odsek nižšie.

## Allow root to run any commands anywhere
root     ALL=(ALL)     ALL

Pridajte riadok priamo pod tento odsek a nahraďte ho sysuservlastným používateľským menom.

sysuser     ALL=(ALL)     ALL

Uložiť a ukončiť.

:wq

4) Prejdite na svoj nový používateľský účet.

logout

Potom použite prihlasovacie údaje nového používateľa na prihlásenie z okna terminálu.

Krok 2: Skontrolujte ukladací mechanizmus

V predvolenom nastavení je koreňové prihlásenie MySQL uložené na VPS v /root/.my.cnf. Zobrazte heslo vo svojom termináli pomocou nasledujúceho príkazu.

sudo cat /root/.my.cnf

Na prihlásenie do konzoly MySQL použite poverenia zobrazené na obrazovke.

mysql -u root -p

V prostredí MySQL spustite nasledovné.

SHOW DATABASES;

Všetky databázy MySQL budú zobrazené na obrazovke. Databáza s názvom ako wp5273512je databáza WordPress, ktorú chceme zálohovať. V nasledujúcom príkaze nahraďte wp5273512svojim vlastným príkazom :

USE wp5273512;

Skontrolujte ukladací mechanizmus pre každú tabuľku:

SHOW TABLE STATUS\G

Zistíte, že všetky tabuľky vo vašej databáze WordPress MySQL používajú ukladací mechanizmus InnoDB, ktorý je ideálny na vykonávanie horúcich záloh s Percona XtraBackup.

V prípade akýchkoľvek iných databáz MySQL, ktoré používajú úložný modul MyISAM, ich stále môžeme zálohovať pomocou Percona XtraBackup krátkym pozastavením zápisu.

Krok 3: Vytvorte používateľa databázy na zálohovanie

Stále v prostredí MySQL použite nasledujúce príkazy na vytvorenie vyhradeného používateľa databázy na zálohovanie. Nezabudnite nahradiť používateľské meno xbusera heslo databázy xbpasswdsvojimi vlastnými:

CREATE USER 'xbuser'@'localhost' IDENTIFIED BY 'xbpasswd';
GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT, CREATE TABLESPACE, PROCESS, SUPER, CREATE, INSERT, SELECT ON *.* TO 'xbuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Vyššie udelené privilégiá sú potrebné pre plnú funkčnosť Percona XtraBackup. Niektoré z nich môžete odstrániť pre menšiu funkčnosť a lepšiu bezpečnosť. Ďalšie podrobnosti nájdete na oficiálnej webovej stránke Percona XtraBackup .

Krok 4: Nainštalujte Percona XtraBackup

Percona XtraBackup môžete nainštalovať z úložiska RPM Percona pomerne jednoducho:

sudo yum install -y http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
sudo yum install -y percona-xtrabackup

Krok 5: Vytvorte adresáre zálohovania

Najprv musíte pridať používateľa sysuserdo mysqlskupiny. Nahraďte ho sysuservlastným užívateľským menom.

sudo gpasswd -a sysuser mysql

Vytvorte adresár na ukladanie úplných záloh.

sudo mkdir -p /dbbackup/full/

Vytvorte ďalší adresár na ukladanie prírastkových záloh.

sudo mkdir -p /dbbackup/inc/

Zmeňte vlastníka týchto adresárov na používateľa sysusera skupinu sysuser.

sudo chown -R sysuser:sysuser /dbbackup

Odhláste sa, aby sa tieto zmeny prejavili.

logout

Potom sa sysuserznova prihláste pomocou .

Krok 6: Vytvorte prvú úplnú zálohu

XtraBackup consists primarily of the XtraBackup program and the innobackupex perl script. Usually, you can use the innobackupex perl script to perform various operating procedures for convenience.

Input the following command to create the first full backup. Remember to replace the database username xbuser, the database user password xbpasswd, and the full backup directory /dbbackup/full/ with your own ones.

sudo innobackupex --user=xbuser  --password=xbpasswd /dbbackup/full/

With this command executed correctly, you will see the confirmation message "innobackupex: completed OK!" at the last line of the output.

All of the newly-created files of this full backup will be stored in a time-stamped directory under /dbbackup/full/. For example, /dbbackup/full/2015-05-22_05-45-54.

Step 7: Create the following incremental backups

Input the following command to create the first incremental backup. Substitute variables in the command accordingly.

sudo innobackupex --user=xbuser  --password=xbpasswd --incremental --incremental-basedir=/dbbackup/full/2015-05-22_05-45-54 /dbbackup/inc/

Again, you will see "innobackupex: completed OK!" at the end of the output when the command executes successfully. The backup files will be stored in a time-stamped directory under /dbbackup/inc/.

Input the following command to create the second incremental backup. Replace variables in the command accordingly.

sudo innobackupex --user=xbuser  --password=xbpasswd --incremental --incremental-basedir=/dbbackup/inc/2015-05-22_05-48-12 /dbbackup/inc/

Upon success, you will see the "innobackupex: completed OK!" message again. Check the /dbbackup/inc/ folder again to see the backup files.

Step 8: Prepare backup files for restoring database

All of the database backup files need to be prepared before they can be used to restore the database.

Poznámka : Pred vykonaním procedúr prípravy a obnovy si radšej ponechajte kópiu celého záložného adresára (napríklad /dbbackup/) na inom mieste pre prípad, že dôjde k poškodeniu zálohy omylom.

V každom adresári záloh sa nachádza súbor s názvom, xtrabackup_checkpointsktorý obsahuje typ zálohy a poradové čísla začiatku a konca protokolu ( from_lsna to_lsn). Tieto čísla môžete použiť na objasnenie stratégie obnovy databázy. Pozrite si príklady nižšie.

V xtrabackup_checkpointssúbore prvej úplnej zálohy mám:

backup_type = full-backuped
from_lsn = 0
to_lsn = 2932478

V xtrabackup_checkpointssúbore prvej prírastkovej zálohy mám:

backup_type =incremental
from_lsn = 2932478
to_lsn = 2970177

V xtrabackup_checkpointssúbore druhej prírastkovej zálohy mám:

backup_type = incremental
from_lsn = 2970177
to_lsn = 3004672

Stručne povedané, mali by ste riešiť každú zálohu s rastúcim poradím lsn. Ak je sekvencia lsn neúplná alebo neusporiadaná, môžete stratiť údaje.

Poznámka : Nasledujúce príkazy zahŕňajú tri adresáre, nahraďte ich vlastnými.

Ak chcete obnoviť databázu do stavu prvej úplnej zálohy, musíte pripraviť záložné súbory pomocou nasledujúceho príkazu:

sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54

Ak chcete obnoviť databázu do stavu prvej prírastkovej zálohy, musíte pripraviť záložné súbory pomocou nasledujúcich príkazov:

sudo innobackupex --apply-log --redo-only /dbbackup/full/2015-05-22_05-45-54
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54 --incremental-dir=/dbbackup/inc/2015-05-22_05-48-12
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54

Ak chcete obnoviť databázu do stavu druhej prírastkovej zálohy, musíte pripraviť záložné súbory pomocou nasledujúcich príkazov:

sudo innobackupex --apply-log --redo-only /dbbackup/full/2015-05-22_05-45-54
sudo innobackupex --apply-log --redo-only /dbbackup/full/2015-05-22_05-45-54 --incremental-dir=/dbbackup/inc/2015-05-22_05-48-12
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54 --incremental-dir=/dbbackup/inc/2015-05-22_05-51-32
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54

Poznámky :

Pre prírastkové zálohy by ste mali použiť túto --redo-onlymožnosť na všetky okrem poslednej prírastkovej zálohy. Napriek tomu je použitie tejto možnosti pri poslednej prírastkovej zálohe stále neškodné pre konzistenciu vašich údajov – spôsobí len určité oneskorenie v dôsledku vrátenia databázy.

Posledný príkaz každého prírastkového scenára je voliteľný, ale odporúčaný, pretože urýchli obnovu.

Po príprave sa zmeny zaznamenané v súboroch prírastkovej zálohy pridajú k pripraveným súborom základnej úplnej zálohy, takže na obnovu databázy by ste mali vždy použiť pripravené súbory úplnej zálohy, bez ohľadu na to, či si vyberiete plnú zálohu alebo prírastkovú zálohu.

Krok 9: Obnovte databázu

Pred obnovením databázy musíte zastaviť databázovú službu.

sudo service mysqld stop

Musíte tiež vyprázdniť adresár databázy. Aktuálne databázové súbory môžete z preventívnych dôvodov presunúť na iné miesto.

sudo mkdir /currentdb
sudo mv /var/lib/mysql/* /currentdb

Obnovte svoju databázu pomocou pripravených súborov „plnej zálohy“.

sudo innobackupex --copy-back /dbbackup/full/2015-05-22_05-45-54

Pretože procedúra obnovy zmení vlastníka databázového adresára, musíte ho zmeniť späť na, mysql:mysqlaby bol funkčný.

sudo chown -R mysql:mysql /var/lib/mysql

Reštartujte databázovú službu.

sudo service mysqld start

To je všetko. V tomto bode môžete navštíviť svoju stránku WordPress a overiť, či bol proces obnovenia úspešný.


Leave a Comment

Install Plesk on CentOS 7

Install Plesk on CentOS 7

Using a Different System? Plesk is a proprietary web host control panel that allows users to administer their personal and/or clients websites, databases

Install Lets Encrypt SSL on One-Click WordPress App

Install Lets Encrypt SSL on One-Click WordPress App

Introduction Lets Encrypt is a certificate authority service that offers free TLS/SSL certificates. The process of installation is simplified by Certbot,

Ako nastaviť klasický server Tekkit na Ubuntu 16.10

Ako nastaviť klasický server Tekkit na Ubuntu 16.10

Používate iný systém? Čo je Tekkit Classic? Tekkit Classic je modpack pre hru, ktorú každý pozná a miluje; Minecraft. Obsahuje niektoré z ver

Creating a Jekyll Blog on Ubuntu 16.04

Creating a Jekyll Blog on Ubuntu 16.04

Using a Different System? Jekyll is a great alternative to WordPress for blogging or sharing content. It doesnt require any databases and it is very easy i

Ako nastaviť bezobslužné aktualizácie na Debian 9 (Stretch)

Ako nastaviť bezobslužné aktualizácie na Debian 9 (Stretch)

Používate iný systém? Ak si zakúpite server Debian, mali by ste mať vždy najnovšie bezpečnostné záplaty a aktualizácie, či už spíte alebo nie

Ako nainštalovať a nakonfigurovať PHP 7.0 alebo PHP 7.1 na Ubuntu 16.04

Ako nainštalovať a nakonfigurovať PHP 7.0 alebo PHP 7.1 na Ubuntu 16.04

PHP a súvisiace balíky sú najčastejšie používané komponenty pri nasadzovaní webového servera. V tomto článku sa naučíme, ako nastaviť PHP 7.0 alebo PHP 7.1 o

Ako nainštalovať Squid Proxy na CentOS

Ako nainštalovať Squid Proxy na CentOS

Squid je populárny bezplatný linuxový program, ktorý vám umožňuje vytvoriť webový proxy server na presmerovanie. V tejto príručke uvidíte, ako nainštalovať Squid na CentOS, aby vás zmenil

Ako nainštalovať Lighttpd (LLMP Stack) na CentOS 6

Ako nainštalovať Lighttpd (LLMP Stack) na CentOS 6

Úvod Lighttpd je fork Apache, ktorého cieľom je byť oveľa menej náročný na zdroje. Je ľahký, odtiaľ jeho názov, a jeho použitie je celkom jednoduché. Installin

Tri bezplatné ovládacie panely servera (rýchla inštalácia)

Tri bezplatné ovládacie panely servera (rýchla inštalácia)

1. Virtualmin/Webmin Virtualmin je výkonný a flexibilný ovládací panel webhostingu pre systémy Linux a UNIX založený na známej webovej základni Open Source

Nastavenie aplikácie Yii na Ubuntu 14.04

Nastavenie aplikácie Yii na Ubuntu 14.04

Yii je rámec PHP, ktorý vám umožňuje rýchlejšie a jednoduchšie vyvíjať aplikácie. Inštalácia Yii na Ubuntu je jednoduchá, ako sa presne dozviete

Používanie obrazovky na Ubuntu 14.04

Používanie obrazovky na Ubuntu 14.04

Screen je aplikácia, ktorá umožňuje viacnásobné použitie terminálových relácií v rámci jedného okna. To vám umožňuje simulovať viacero okien terminálu, kde je to možné

Nastavte si svoj vlastný DNS server na Debian/Ubuntu

Nastavte si svoj vlastný DNS server na Debian/Ubuntu

Tento tutoriál vysvetľuje, ako nastaviť server DNS pomocou Bind9 na Debiane alebo Ubuntu. V celom článku podľa toho nahraďte názov vašej-domény.com. Pri th

Používanie Logrotate na správu protokolových súborov

Používanie Logrotate na správu protokolových súborov

Úvod Logrotate je nástroj pre Linux, ktorý zjednodušuje správu protokolových súborov. Zvyčajne beží raz denne prostredníctvom úlohy cron a spravuje základňu protokolov

Konfigurácia statickej siete a IPv6 na CentOS 7

Konfigurácia statickej siete a IPv6 na CentOS 7

VULTR nedávno vykonal zmeny na ich konci a všetko by teraz malo fungovať dobre po vybalení so zapnutým NetworkManagerom. Ak chcete deaktivovať

Úprava Icinga2 na použitie modelu Master/Client na CentOS 6 alebo CentOS 7

Úprava Icinga2 na použitie modelu Master/Client na CentOS 6 alebo CentOS 7

Icinga2 je výkonný monitorovací systém a pri použití v modeli master-client môže nahradiť potrebu monitorovacích kontrol založených na NRPE. Hlavný klient

Nastavte Red5 Media Server na Ubuntu 16.04

Nastavte Red5 Media Server na Ubuntu 16.04

Používate iný systém? Red5 je mediálny server s otvoreným zdrojom implementovaný v jazyku Java, ktorý vám umožňuje spúšťať aplikácie Flash pre viacerých používateľov, ako napríklad živé vysielanie

Ako nainštalovať Apache Cassandra 3.11.x na Ubuntu 16.04 LTS

Ako nainštalovať Apache Cassandra 3.11.x na Ubuntu 16.04 LTS

Používate iný systém? Apache Cassandra je bezplatný a otvorený systém správy databáz NoSQL, ktorý je navrhnutý tak, aby poskytoval škálovateľnosť, vysokú

Ako nainštalovať Vanilla Forum na Ubuntu 16.04

Ako nainštalovať Vanilla Forum na Ubuntu 16.04

Používate iný systém? Vanilla forum je open source aplikácia fóra napísaná v PHP. Je plne prispôsobiteľný, ľahko použiteľný a podporuje externé

Ako nainštalovať Kanboard na Ubuntu 18.04 LTS

Ako nainštalovať Kanboard na Ubuntu 18.04 LTS

Používate iný systém? Úvod Kanboard je bezplatný a otvorený softvérový program na riadenie projektov, ktorý je navrhnutý tak, aby uľahčil a vizualizoval

Ako nainštalovať Kanboard na Debian 9

Ako nainštalovať Kanboard na Debian 9

Používate iný systém? Úvod Kanboard je bezplatný a otvorený softvérový program na riadenie projektov, ktorý je navrhnutý tak, aby uľahčil a vizualizoval

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.

Útoky DDOS: Stručný prehľad

Útoky DDOS: Stručný prehľad

Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.

Vývoj ukladania dát – Infografika

Vývoj ukladania dát – Infografika

Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.

Funkcionality vrstiev referenčnej architektúry veľkých dát

Funkcionality vrstiev referenčnej architektúry veľkých dát

Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac