Vruće sigurnosne kopije s Percona XtraBackup na WordPress aplikaciji jednim klikom

Sadržaj

  • Uvod
  • Preduvjeti
  • Korak 1: Stvorite korisnika sustava koji nije korijenski
  • Korak 2: Provjerite mehanizam za pohranu
  • Korak 3: Stvorite korisnika baze podataka za sigurnosno kopiranje
  • Korak 4: Instalirajte Percona XtraBackup
  • Korak 5: Napravite direktorije za pohranu sigurnosnih kopija
  • Korak 6: Napravite prvu potpunu sigurnosnu kopiju
  • Korak 7: Napravite sljedeće inkrementalne sigurnosne kopije
  • Korak 8: Pripremite datoteke sigurnosne kopije za vraćanje baze podataka
  • Korak 9: Vratite bazu podataka
  • Daljnji koraci

Uvod

Percona XtraBackup je besplatni program baziran na MySQL-u koji se koristi za izradu vrućih sigurnosnih kopija. Također je otvorenog koda. Uz Percona XtraBackup, možete napraviti vruće sigurnosne kopije pokrenutih MySQL, MariaDB ili Percona Server baza podataka bez zaustavljanja vaše usluge baze podataka ili omogućavanja da je samo za čitanje. Ovo je poslovno kritična značajka za mnoge online tvrtke.

Za baze podataka koje koriste InnoDB, XtraDB i HailDB mehanizme za pohranu, Percona XtraBackup može izvesti neblokirajuće sigurnosne kopije. Za baze podataka koje koriste MyISAM, Merge i Archive mehanizme za pohranu, Percona XtraBackup također može napraviti sigurnosne kopije kratkim pauziranjem pisanja na kraju postupka sigurnosnog kopiranja.

U ovom članku pokazat ću vam kako instalirati i koristiti Percona XtraBackup za izvođenje potpunih i inkrementalnih vrućih sigurnosnih kopija na Vultr poslužitelju temeljenom na WordPress aplikaciji jednim klikom. Izvršit ćemo potpunu sigurnosnu kopiju i dvije inkrementalne sigurnosne kopije, a zatim ćemo vratiti bazu podataka u stanje svake od tri sigurnosne kopije u skladu s tim.

Preduvjeti

Pretpostavljam da ste ispočetka implementirali instancu poslužitelja WordPress Vultr jednim klikom i da ste se prijavili kao root, koristeći SSH.

Korak 1: Stvorite korisnika sustava koji nije korijenski

Iz sigurnosnih razloga, preporučena praksa je stvoriti drugi korisnički račun s root dopuštenjima, a zatim ga koristiti za prijavu i obavljanje svakodnevnih operacija na sustavu. Još uvijek možete izvršiti gotovo sve naredbe superkorisnika s sudonaredbom.

1) Stvorite novog korisnika. Zamijenite sysuservlastitim korisničkim imenom.

useradd sysuser

2) Postavite lozinku za novog korisnika. Zamijenite sysuservlastitim korisničkim imenom.

passwd sysuser

3) Dodijelite root dopuštenja svom novom korisniku.

visudo

Pronađite odlomak u nastavku.

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

Dodajte redak neposredno ispod ovog odlomka, zamijenite ga sysusersvojim korisničkim imenom.

sysuser     ALL=(ALL)     ALL

Spremite i zatvorite.

:wq

4) Prijeđite na svoj novi korisnički račun.

logout

Zatim upotrijebite vjerodajnice novog korisnika za prijavu iz prozora terminala.

Korak 2: Provjerite mehanizam za pohranu

Prema zadanim postavkama, MySQL root prijava sprema se na VPS u /root/.my.cnf. Prikažite lozinku u svom terminalu sljedećom naredbom.

sudo cat /root/.my.cnf

Upotrijebite vjerodajnice prikazane na ekranu za prijavu na MySQL konzolu.

mysql -u root -p

U MySQL ljusci pokrenite sljedeće.

SHOW DATABASES;

Sve MySQL baze podataka bit će prikazane na ekranu. Baza podataka nazvana kao wp5273512je WordPress baza podataka koju želimo sigurnosno kopirati. U sljedećoj naredbi zamijenite wp5273512svojom:

USE wp5273512;

Provjerite mehanizam za pohranu za svaku tablicu:

SHOW TABLE STATUS\G

Otkrit ćete da sve tablice u vašoj WordPress MySQL bazi podataka koriste InnoDB mehanizam za pohranu koji je savršen za izvođenje vrućih sigurnosnih kopija s Percona XtraBackup.

Za sve druge MySQL baze podataka koje koriste MyISAM mehanizam za pohranu, još uvijek ih možemo sigurnosno kopirati pomoću Percona XtraBackup kratkim pauziranjem upisivanja.

Korak 3: Stvorite korisnika baze podataka za sigurnosno kopiranje

Još uvijek u MySQL ljusci, koristite sljedeće naredbe za stvaranje namjenskog korisnika baze podataka za sigurnosnu kopiju. Ne zaboravite zamijeniti korisničko ime baze podataka xbuseri lozinku xbpasswdsvojim vlastitim:

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;

Gore dodijeljene povlastice potrebne su za punu Percona XtraBackup funkcionalnost. Neke od njih možete ukloniti radi manje funkcionalnosti i bolje sigurnosti. Za više pojedinosti pogledajte službenu web stranicu Percona XtraBackup .

Korak 4: Instalirajte Percona XtraBackup

Percona XtraBackup možete vrlo jednostavno instalirati iz Perconinog RPM repozitorija:

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

Korak 5: Napravite direktorije za pohranu sigurnosnih kopija

Prvo morate dodati korisnika sysuseru mysqlgrupu. Zamijenite sysuservlastitim korisničkim imenom.

sudo gpasswd -a sysuser mysql

Stvorite direktorij za pohranu potpunih sigurnosnih kopija.

sudo mkdir -p /dbbackup/full/

Napravite drugi direktorij za pohranu inkrementalnih sigurnosnih kopija.

sudo mkdir -p /dbbackup/inc/

Promijenite vlasnika ovih direktorija u korisnika sysuseri grupe sysuser.

sudo chown -R sysuser:sysuser /dbbackup

Odjavite se da biste ove promjene primijenili.

logout

Zatim se sysuserponovno prijavite s .

Korak 6: Napravite prvu potpunu sigurnosnu kopiju

XtraBackup se prvenstveno sastoji od programa XtraBackup i innobackupexperl skripte. Obično možete koristiti innobackupexperl skriptu za izvođenje različitih operativnih postupaka radi praktičnosti.

Unesite sljedeću naredbu za stvaranje prve potpune sigurnosne kopije. Ne zaboravite zamijeniti korisničko ime xbuserbaze podataka, korisničku lozinku baze podataka xbpasswdi puni direktorij sigurnosne kopije /dbbackup/full/svojim vlastitim.

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

Ako se ova naredba ispravno izvrši, vidjet ćete poruku potvrde "innobackupex: završeno OK!" na posljednjoj liniji izlaza.

Sve novostvorene datoteke ove potpune sigurnosne kopije bit će pohranjene u direktoriju s vremenskim žigom pod /dbbackup/full/. Na primjer, /dbbackup/full/2015-05-22_05-45-54.

Korak 7: Napravite sljedeće inkrementalne sigurnosne kopije

Unesite sljedeću naredbu za stvaranje prve inkrementalne sigurnosne kopije. U skladu s tim zamijenite varijable u naredbi.

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

Opet ćete vidjeti "innobackupex: završeno OK!" na kraju izlaza kada se naredba uspješno izvrši. Datoteke sigurnosne kopije bit će pohranjene u imeniku s vremenskim žigom pod /dbbackup/inc/.

Unesite sljedeću naredbu za stvaranje druge inkrementalne sigurnosne kopije. U skladu s tim zamijenite varijable u naredbi.

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

Nakon uspjeha, vidjet ćete "innobackupex: završeno OK!" opet poruku. /dbbackup/inc/Ponovno provjerite mapu da biste vidjeli sigurnosne kopije datoteka.

Korak 8: Pripremite datoteke sigurnosne kopije za vraćanje baze podataka

Sve datoteke sigurnosne kopije baze podataka moraju biti pripremljene prije nego što se mogu koristiti za vraćanje baze podataka.

Napomena : Prije nego što izvršite postupke pripreme i vraćanja, bolje je sačuvati kopiju cijelog direktorija sigurnosne kopije (kao što je /dbbackup/) na drugom mjestu u slučaju da greškom dođe do oštećenja sigurnosnih kopija datoteka.

U svakom direktoriju sigurnosne kopije nalazi se datoteka s imenom xtrabackup_checkpointskoja sadrži vrstu sigurnosne kopije i redovne brojeve početka i kraja dnevnika ( from_lsni to_lsn). Možete koristiti te brojeve da razjasnite svoju strategiju vraćanja baze podataka. Pogledajte primjere u nastavku.

U xtrabackup_checkpointsdatoteci prve potpune sigurnosne kopije imam:

backup_type = full-backuped
from_lsn = 0
to_lsn = 2932478

U xtrabackup_checkpointsdatoteci prve inkrementalne sigurnosne kopije imam:

backup_type =incremental
from_lsn = 2932478
to_lsn = 2970177

U xtrabackup_checkpointsdatoteci druge inkrementalne sigurnosne kopije imam:

backup_type = incremental
from_lsn = 2970177
to_lsn = 3004672

Ukratko, trebali biste se pozabaviti svakom sigurnosnom kopijom s rastućim redoslijedom lsn. Ako je lsn sekvenca nepotpuna ili neuređena, možete izgubiti podatke.

Napomena : Sljedeće naredbe uključuju tri direktorija, zamijenite ih svojim.

Da biste bazu podataka vratili u stanje prve potpune sigurnosne kopije, morate pripremiti sigurnosne kopije sljedećom naredbom:

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

Za vraćanje baze podataka u stanje prve inkrementalne sigurnosne kopije, morate pripremiti sigurnosne kopije pomoću sljedećih naredbi:

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

Da biste bazu podataka vratili u stanje druge inkrementalne sigurnosne kopije, morate pripremiti datoteke sigurnosne kopije pomoću sljedećih naredbi:

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

napomene :

Za inkrementalne sigurnosne kopije, trebali biste koristiti --redo-onlyopciju za sve osim posljednje inkrementalne sigurnosne kopije. Ipak, korištenje ove opcije na posljednjoj inkrementalnoj sigurnosnoj kopiji i dalje je bezopasno za konzistentnost vaših podataka - samo će uzrokovati određeno kašnjenje zbog vraćanja baze podataka.

Posljednja naredba svakog inkrementalnog scenarija nije obavezna, ali se preporučuje jer će ubrzati vraćanje.

Nakon pripreme, promjene zabilježene u inkrementalnim datotekama sigurnosne kopije bit će pridodane pripremljenim osnovnim datotekama pune sigurnosne kopije, tako da uvijek trebate koristiti pripremljene potpune sigurnosne kopije za vraćanje baze podataka, bez obzira da li odaberete potpunu sigurnosnu kopiju ili inkrementalnu sigurnosnu kopiju.

Korak 9: Vratite bazu podataka

Prije nego što možete vratiti svoju bazu podataka, morate zaustaviti uslugu baze podataka.

sudo service mysqld stop

Također morate isprazniti direktorij baze podataka. Možete premjestiti trenutne datoteke baze podataka na drugo mjesto radi opreza.

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

Vratite svoju bazu podataka s pripremljenim datotekama "full backup".

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

Budući da će postupak vraćanja izmijeniti vlasnika direktorija baze podataka, morate ga promijeniti natrag u mysql:mysqlda bi postao operativan.

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

Ponovno pokrenite uslugu baze podataka.

sudo service mysqld start

To je to. U ovom trenutku možete posjetiti svoju WordPress stranicu kako biste provjerili je li proces vraćanja bio uspješan.

Ostavite komentar

Uspon strojeva: primjene AI u stvarnom svijetu

Uspon strojeva: primjene AI u stvarnom svijetu

Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.

DDOS napadi: kratak pregled

DDOS napadi: kratak pregled

Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.

Evolucija pohrane podataka – Infografika

Evolucija pohrane podataka – Infografika

Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više