Hot Backups med Percona XtraBackup på One-Click WordPress-appen

Hot Backups med Percona XtraBackup på One-Click WordPress-appen

Innholdsfortegnelse

  • Introduksjon
  • Forutsetninger
  • Trinn 1: Opprett en bruker som ikke er rotsystem
  • Trinn 2: Sjekk lagringsmotoren
  • Trinn 3: Opprett en databasebruker for sikkerhetskopiering
  • Trinn 4: Installer Percona XtraBackup
  • Trinn 5: Lag backup-lagringskataloger
  • Trinn 6: Lag den første fullstendige sikkerhetskopien
  • Trinn 7: Lag følgende inkrementelle sikkerhetskopier
  • Trinn 8: Forbered sikkerhetskopifiler for gjenoppretting av databasen
  • Trinn 9: Gjenopprett databasen
  • Videre trinn

Introduksjon

Percona XtraBackup er et gratis MySQL-basert program som brukes til å lage varme sikkerhetskopier. Den er også åpen kildekode. Med Percona XtraBackup kan du lage varme sikkerhetskopier av kjørende MySQL-, MariaDB- eller Percona Server-databaser uten å stoppe databasetjenesten eller gjøre den skrivebeskyttet. Dette er en forretningskritisk funksjon for mange nettbaserte virksomheter.

For databaser som bruker InnoDB, XtraDB og HailDB lagringsmotorer, kan Percona XtraBackup utføre ikke-blokkerende sikkerhetskopier. For databaser som bruker MyISAM-, Merge- og Archive-lagringsmotorer, kan Percona XtraBackup også utføre sikkerhetskopiering ved å stoppe skrivingen kort på slutten av sikkerhetskopieringsprosessen.

I denne artikkelen vil jeg vise deg hvordan du installerer og bruker Percona XtraBackup til å utføre fulle og inkrementelle hot backups på en Vultr-server basert på One-Click WordPress-applikasjonen. Vi vil utføre en fullstendig sikkerhetskopiering og to inkrementelle sikkerhetskopier, og deretter gjenopprette databasen til tilstanden til hver av de tre sikkerhetskopiene tilsvarende.

Forutsetninger

Jeg antar at du har distribuert en One-Click WordPress Vultr-serverforekomst fra bunnen av og har logget på som root, ved hjelp av SSH.

Trinn 1: Opprett en bruker som ikke er rotsystem

Av sikkerhetshensyn er en anbefalt praksis å opprette en annen brukerkonto med root-tillatelser, og deretter bruke den til å logge på og utføre dine daglige operasjoner på systemet. Du kan fortsatt utføre nesten alle superbrukerkommandoene med sudokommandoen.

1) Opprett en ny bruker. Erstatt sysusermed ditt eget brukernavn.

useradd sysuser

2) Angi passordet for den nye brukeren. Erstatt sysusermed ditt eget brukernavn.

passwd sysuser

3) Gi root-tillatelser til din nye bruker.

visudo

Finn avsnittet nedenfor.

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

Legg til en rad rett under dette avsnittet, erstatt sysusermed ditt eget brukernavn.

sysuser     ALL=(ALL)     ALL

Lagre og avslutt.

:wq

4) Bytt til din nye brukerkonto.

logout

Bruk deretter den nye brukerens legitimasjon for å logge på fra terminalvinduet.

Trinn 2: Sjekk lagringsmotoren

Som standard lagres MySQL-rotpåloggingen på VPS-en i /root/.my.cnf. Vis passordet i terminalen med følgende kommando.

sudo cat /root/.my.cnf

Bruk legitimasjonen som vises på skjermen for å logge på MySQL-konsollen.

mysql -u root -p

Kjør følgende i MySQL-skallet.

SHOW DATABASES;

Alle MySQL-databasene vil ha blitt vist på skjermen. Databasen som heter like wp5273512er WordPress-databasen som vi ønsker å sikkerhetskopiere. I følgende kommando, erstatt wp5273512med din egen:

USE wp5273512;

Sjekk lagringsmotoren for hver tabell:

SHOW TABLE STATUS\G

Du vil oppdage at alle tabellene i WordPress MySQL-databasen din bruker InnoDB-lagringsmotoren som er perfekt for å utføre hot backup med Percona XtraBackup.

For alle andre MySQL-databaser som bruker MyISAM-lagringsmotor, kan vi fortsatt sikkerhetskopiere dem med Percona XtraBackup ved å sette skrivingen på pause.

Trinn 3: Opprett en databasebruker for sikkerhetskopiering

Fortsatt i MySQL-skallet, bruk følgende kommandoer for å opprette en dedikert databasebruker for sikkerhetskopiering. Husk å erstatte databasebrukernavnet xbuserog passordet xbpasswdmed dine egne:

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;

Rettighetene gitt ovenfor er nødvendige for full Percona XtraBackup-funksjonalitet. Du kan fjerne noen av dem for mindre funksjonalitet og bedre sikkerhet. For mer informasjon, se Percona XtraBackup offisielle nettsted .

Trinn 4: Installer Percona XtraBackup

Du kan installere Percona XtraBackup fra Perconas RPM-lager ganske enkelt:

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

Trinn 5: Lag backup-lagringskataloger

Først må du legge til bruker sysuseri mysqlgruppen. Erstatt sysusermed ditt eget brukernavn.

sudo gpasswd -a sysuser mysql

Opprett en katalog for å lagre fullstendige sikkerhetskopier.

sudo mkdir -p /dbbackup/full/

Opprett en annen katalog for å lagre inkrementelle sikkerhetskopier.

sudo mkdir -p /dbbackup/inc/

Endre eieren av disse katalogene til bruker sysuserog gruppe sysuser.

sudo chown -R sysuser:sysuser /dbbackup

Logg ut for å sette disse endringene i kraft.

logout

Logg deretter på med sysuserigjen.

Trinn 6: Lag den første fullstendige sikkerhetskopien

XtraBackup består først og fremst av XtraBackup-programmet og innobackupexperl-skriptet. Vanligvis kan du bruke innobackupexperl-skriptet til å utføre ulike operasjonsprosedyrer for enkelhets skyld.

Skriv inn følgende kommando for å lage den første fullstendige sikkerhetskopien. Husk å erstatte databasebrukernavnet xbuser, databasebrukerpassordet xbpasswdog den fullstendige sikkerhetskopikatalogen /dbbackup/full/med dine egne.

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

Når denne kommandoen er utført riktig, vil du se bekreftelsesmeldingen "innobackupex: fullført OK!" på den siste linjen i utgangen.

Alle de nyopprettede filene i denne fullstendige sikkerhetskopien vil bli lagret i en tidsstemplet katalog under /dbbackup/full/. For eksempel /dbbackup/full/2015-05-22_05-45-54.

Trinn 7: Lag følgende inkrementelle sikkerhetskopier

Skriv inn følgende kommando for å lage den første inkrementelle sikkerhetskopien. Erstatt variabler i kommandoen tilsvarende.

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

Igjen vil du se "innobackupex: fullført OK!" på slutten av utdata når kommandoen utføres vellykket. Sikkerhetskopiene vil bli lagret i en tidsstemplet katalog under /dbbackup/inc/.

Skriv inn følgende kommando for å lage den andre inkrementelle sikkerhetskopien. Erstatt variabler i kommandoen tilsvarende.

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

Ved suksess vil du se "innobackupex: fullført OK!" melding igjen. Sjekk /dbbackup/inc/mappen igjen for å se sikkerhetskopifilene.

Trinn 8: Forbered sikkerhetskopifiler for gjenoppretting av databasen

Alle sikkerhetskopieringsfilene til databasen må forberedes før de kan brukes til å gjenopprette databasen.

Merk : Før du utfører forberedelses- og gjenopprettingsprosedyrene, bør du beholde en kopi av hele sikkerhetskopikatalogen (for eksempel /dbbackup/) på et annet sted i tilfelle skade på sikkerhetskopieringen av filene er forårsaket ved en feil.

I hver sikkerhetskopikatalog er det en fil med navn xtrabackup_checkpointssom inneholder sikkerhetskopitypen og sekvensnumrene for begynnelse og sluttlogg ( from_lsnog to_lsn). Du kan bruke disse tallene for å tydeliggjøre strategien for databasegjenoppretting. Se på eksemplene nedenfor.

I xtrabackup_checkpointsfilen til den første fullstendige sikkerhetskopien har jeg:

backup_type = full-backuped
from_lsn = 0
to_lsn = 2932478

I xtrabackup_checkpointsfilen til den første inkrementelle sikkerhetskopien har jeg:

backup_type =incremental
from_lsn = 2932478
to_lsn = 2970177

I xtrabackup_checkpointsfilen til den andre inkrementelle sikkerhetskopien har jeg:

backup_type = incremental
from_lsn = 2970177
to_lsn = 3004672

Kort fortalt bør du takle hver sikkerhetskopi med økende rekkefølge på lsn. Hvis lsn-sekvensen er ufullstendig eller uorden, kan du miste data.

Merk : Følgende kommandoer involverer tre kataloger, erstatt dem med dine egne.

For å gjenopprette databasen til tilstanden til den første fullstendige sikkerhetskopien, må du forberede sikkerhetskopifilene med følgende kommando:

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

For å gjenopprette databasen til tilstanden til den første inkrementelle sikkerhetskopieringen, må du klargjøre sikkerhetskopifilene med følgende kommandoer:

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

For å gjenopprette databasen til tilstanden til den andre inkrementelle sikkerhetskopien, må du klargjøre sikkerhetskopifilene med følgende kommandoer:

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

Merknader :

For inkrementelle sikkerhetskopier bør du bruke --redo-onlyalternativet på alle unntatt den siste inkrementelle sikkerhetskopien. Likevel, bruk av dette alternativet på den siste inkrementelle sikkerhetskopieringen er fortsatt ufarlig for konsistensen til dataene dine - det vil bare føre til en viss forsinkelse på grunn av tilbakerullingen av databasen.

Den siste kommandoen i hvert inkrementelle scenario er valgfri, men anbefalt, fordi den vil fremskynde gjenopprettingen.

Etter klargjøring vil endringene som er registrert i de inkrementelle sikkerhetskopieringsfilene legges til de forberedte fullstendige backupfilene, så du bør alltid bruke de forberedte full backupfilene for å gjenopprette databasen, uansett om du velger en full backup eller en inkrementell backup.

Trinn 9: Gjenopprett databasen

Før du kan gjenopprette databasen, må du stoppe databasetjenesten.

sudo service mysqld stop

Du må også tømme databasekatalogen. Du kan flytte de gjeldende databasefilene til et annet sted for sikkerhets skyld.

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

Gjenopprett databasen med de forberedte "full backup"-filene.

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

Fordi gjenopprettingsprosedyren vil endre eieren av databasekatalogen, må du endre den tilbake til for mysql:mysqlå gjøre den operativ.

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

Start databasetjenesten på nytt.

sudo service mysqld start

Det er det. På dette tidspunktet kan du besøke WordPress-nettstedet ditt for å bekrefte at gjenopprettingsprosessen var vellykket.


Sett opp Cacti på Debian Jessie

Sett opp Cacti på Debian Jessie

Introduksjon Cacti er et åpen kildekode overvåkings- og grafverktøy som er fullt basert på RRD-data. Gjennom Cacti kan du overvåke nesten alle typer enheter

Installer Lets Encrypt SSL på ett-klikks WordPress-appen

Installer Lets Encrypt SSL på ett-klikks WordPress-appen

Introduksjon Lets Encrypt er en sertifikatmyndighetstjeneste som tilbyr gratis TLS/SSL-sertifikater. Installasjonsprosessen forenkles av Certbot,

Sett opp iRedMail på Debian Wheezy

Sett opp iRedMail på Debian Wheezy

Bruker du et annet system? Denne opplæringen viser deg hvordan du installerer gruppevaren iRedMail på en ny installasjon av Debian Wheezy. Du bør bruke en serve

Tre gratis serverkontrollpaneler (hurtiginstallasjon)

Tre gratis serverkontrollpaneler (hurtiginstallasjon)

1. Virtualmin/Webmin Virtualmin er et kraftig og fleksibelt kontrollpanel for webhotell for Linux- og UNIX-systemer basert på den velkjente Open Source-nettbasen

Bruker skjermen på Ubuntu 14.04

Bruker skjermen på Ubuntu 14.04

Skjerm er et program som tillater flere bruk av terminalsesjoner i ett vindu. Dette lar deg simulere flere terminalvinduer der det ma

Bruke Logrotate til å administrere loggfiler

Bruke Logrotate til å administrere loggfiler

Introduksjon Logrotate er et Linux-verktøy som forenkler administrasjonen av loggfiler. Den kjører vanligvis en gang om dagen via en cron-jobb, og administrerer loggbasen

Installere Docker CE på Ubuntu 16.04

Installere Docker CE på Ubuntu 16.04

Bruker du et annet system? Docker er en applikasjon som gjør det mulig å distribuere programmer som kjøres som containere. Det ble skrevet i det populære Go-programmet

Patching the Dirty Cow Exploit på CentOS

Patching the Dirty Cow Exploit på CentOS

Hva er Dirty Cow (CVE-2016-5195)? Dirty Cow-sårbarheten utnyttes gjennom hvordan Linux behandler kode. Det gjør det mulig for en uprivilegert bruker å gai

Konfigurer en ikke-rootbruker med Sudo Access på Ubuntu

Konfigurer en ikke-rootbruker med Sudo Access på Ubuntu

Å ha bare én bruker, som er root, kan være farlig. Så la oss fikse det. Vultr gir oss friheten til å gjøre som vi vil med våre brukere og våre servere

Installer Adminer på Debian/Ubuntu

Installer Adminer på Debian/Ubuntu

Adminer er et lett alternativ til phpMyAdmin. Til sammenligning er dens totale pakkestørrelse 400 KB, mot 4,2 MB med phpMyAdmin. I motsetning til phpMyAdmin, som

Slik installerer du GoAccess på Ubuntu 16.04

Slik installerer du GoAccess på Ubuntu 16.04

Bruker du et annet system? GoAccess er en åpen kildekode-nettlogganalysator. Du kan bruke den til analyse av logger på sanntidsbasis i enten terminalen eller

Konfigurer Nagios på Ubuntu: Del 1 - Nagios Server

Konfigurer Nagios på Ubuntu: Del 1 - Nagios Server

Denne artikkelen er en del av en todelt serie om installasjon og konfigurering av Nagios på Ubuntu 14.04. Del 1: Nagios Server Del 2: Oversikt over ekstern vert Nagio

Sett opp tidssone og NTP på Ubuntu 14.04

Sett opp tidssone og NTP på Ubuntu 14.04

Vultr-servere kan ikke distribueres med tidssonen/datoen/klokkeslettet du trenger på serveren din. Heldigvis kan vi manuelt stille inn tidssonen for å forhindre problemer

Distribuer en Meteor-applikasjon på Ubuntu

Distribuer en Meteor-applikasjon på Ubuntu

Denne artikkelen vil lede deg gjennom distribusjon av Meteor-appen din til en Vultr VPS som kjører Ubuntu 14.04. Det kan også fungere på andre Linux-distribusjoner (forsøk a

Arbeide med Linux-funksjoner

Arbeide med Linux-funksjoner

Introduksjon Linux-funksjoner er spesielle attributter i Linux-kjernen som gir prosesser og binære kjørbare spesifikke rettigheter som er normale

Høy tilgjengelighet ved bruk av privat nettverk på Ubuntu 16.04 med Keepalived

Høy tilgjengelighet ved bruk av privat nettverk på Ubuntu 16.04 med Keepalived

Noen arkitekturer med høy tilgjengelighet krever en flytende IP-adresse. Denne funksjonaliteten er tilgjengelig på Vultr-plattformen når privat nettverk har bee

Konfigurer bare SFTP-brukerkontoer på Ubuntu 14

Konfigurer bare SFTP-brukerkontoer på Ubuntu 14

Innledning Enkelte scenarier krever at du oppretter brukere med lese- og skrivetilgang til en enkelt katalog kun via FTP. Denne artikkelen vil vise deg hvordan t

Slik konfigurerer du Node.js Persistent-applikasjoner på Ubuntu 16.04

Slik konfigurerer du Node.js Persistent-applikasjoner på Ubuntu 16.04

Node.js-applikasjoner er populære for deres evne til å skalere. Å kjøre flere samtidige prosesser på flere servere gir lavere ventetid og større oppetid

Overvåk enhetene dine ved å bruke LibreNMS på Ubuntu 16.04

Overvåk enhetene dine ved å bruke LibreNMS på Ubuntu 16.04

Bruker du et annet system? LibreNMS er et fullverdig åpen kildekode-nettverksovervåkingssystem. Den bruker SNMP for å hente data fra forskjellige enheter. En variant

Stopp DHCP fra å endre resolv.conf

Stopp DHCP fra å endre resolv.conf

For DHCP-brukere kan det hende du trenger å redigere /etc/resolv.conf for å bruke andre navneservere. Deretter, etter en periode (eller etter en omstart av systemet)

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer