Av Dmitri Joukovski och Pavel Pragin

MySQL-databasen har blivit världens mest populära databas med öppen källkod på grund av dess konsekventa snabba prestanda, höga tillförlitlighet och användarvänlighet. Du kanske använder MySQL-databasen för dina onlineforum och wiki som finns hos managed hosting-leverantören, eller så kan du använda den på ett fjärrkontor för att spåra buggar med Bugzilla, eller du kanske bara funderar på att utveckla något nytt Web 2.0-program som använder MySQL . Hur som helst, om du värdesätter information som lagras i din MySQL-databas måste du säkerställa framgångsrika, säkra och konsekventa säkerhetskopior av MySQL med minimal inverkan på databasapplikationen. Se till att din reservlösning ger den mest effektiva användningen av nätverks-, server- och lagringsresurser.

Om du letar efter en lösning som förenklar ditt liv genom att tillhandahålla en lättanvänd men ändå flexibel och robust säkerhetskopiering och återställning för MySQL kan Zmanda Recovery Manager (ZRM) vara det rätta valet för dig. Detaljer om ZRM-funktionalitet finns här.

För varje säkerhetskopia av en databas är de främsta övervägandena säkerhetens säkerhet och påverkan på användare och applikationer. En säkerhetskopia av fjärrkontrollen MySQL har dock extra utmaningar relaterade till:

  • nätverksanvändning
  • säkerhet och
  • flexibilitet för återställbarhet av MySQL-data till en annan värd.

Den sista punkten kan vara viktig när du inte har full kontroll över din MySQL-miljö och du vill ha ett alternativ att återställa dina data till en annan hanterad värdleverantör med en annan version av MySQL-servern eller ett annat operativsystem.

Inkrementella säkerhetskopior minskar avsevärt säkerhetskopieringsfönstret och nätverksanvändningen eftersom endast ändringarna sedan den senaste hela eller den senaste inkrementella säkerhetskopian flyttas över kabeln. ZRM gör det enkelt för dig att återställa dina data från inkrementella säkerhetskopior även om du måste använda flera inkrementella säkerhetskopieringsbilder för att få dina data tillbaka till en viss tidpunkt. De inkrementella säkerhetskopiorna kräver att MySQL-binära loggar är aktiverade, men enligt MySQL-dokumentation kommer aktiveringen av binära loggar att resultera i prestanda träff på mindre än 1%.

Logiska säkerhetskopior ger mer flexibilitet för återställning eftersom säkerhetskopieringsfilen är en textfil som innehåller alla MySQL-uttalanden för att återskapa både databasschemat och innehållet. Logisk säkerhetskopiering fungerar för alla lagringsmotorer utom NDB-motorn som används för MySQL-kluster. Den största fördelen med logisk säkerhetskopiering är flexibilitet för en databasåterställning. Du kan återställa logisk säkerhetskopiering av MySQL till annan arkitektur och till och med till en annan databas. Transporten av logiska ZRM-backupbilder gör ZRM till ett bekvämt verktyg för migration. Du kan till exempel flytta dina MySQL-data:

  • Från MySQL på Solaris till MySQL på Linux
  • Från en lagringsmotor till en annan
  • Från en 32-bitars server till en 64-bitars server
  • Från en hanterad värdleverantör till ditt datacenter eller en annan leverantör med annan MySQL-konfiguration

Naturligtvis finns det pris att betala för en sådan flexibel återhämtning. Återställning av data från de logiska säkerhetskopiorna kan ta lång tid eftersom du måste läsa och spela upp alla MySQL-uttalanden. En annan nackdel är att det kan vara svårt att förutsäga storleken på din logiska säkerhetskopia. Beroende på typ av data och ditt databasschema kan storleken på den logiska säkerhetskopian vara större än själva databasen. Ett botemedel är att eftersom logisk säkerhetskopiering i grunden är en textfil kan du vanligtvis få en anständig komprimering.

Raw backup ger en konsekvent kopia av en databas med din backup som en binär fil. Fördelarna med råa säkerhetskopior jämfört med logiska säkerhetskopior är:

  • Säkerhetskopior och särskilt återhämtningar är mycket snabbare. Det är till exempel inte ovanligt att se att för samma databas med storleken 4-5 GB är den råa säkerhetskopian 5 gånger snabbare än den logiska säkerhetskopian, och återställningen av den råa backupbilden är 20 gånger snabbare än återställningen av den logiska bild.
  • Du kommer alltid att veta den exakta storleken på din säkerhetskopia eftersom det bara är en kopia av en databas.
  • Det ger bättre skalbarhet vilket kan vara viktigt om din MySQL-databas är ganska stor, t.ex. 10-20 GB eller mer.

Råa säkerhetskopior kan ENDAST återställas till samma version av MySQL-servern på samma operativsystem som originaldata. Det innebär att dina chanser att återställa råa backupbilder av MySQL till en annan hanterad webbhotellleverantör inte är så höga och du bör ta hänsyn till det när du väljer rå vs logisk säkerhetskopia.

Både råa och logiska säkerhetskopior ger säkerhetskopiering, vilket innebär att du inte behöver stänga av MySQL-servern för säkerhetskopiering, men alla tabeller är låsta under säkerhetskopiering och användare kan inte ange sina data. Det är därför du bör överväga att använda ZRM-schemaläggningsprogrammet som möjliggör fördröjning av säkerhetskopior baserat på trösklar som du definierar. Du kan till exempel skjuta upp säkerhetskopieringen i en timme om mer än 50 användare har tillgång till databasen.

En av de viktigaste övervägandena för fjärrbackup av MySQL är beslutet om vilken typ av anslutning som ska upprättas mellan ZRM och MySQL-fjärrserver. ZRM tillhandahåller en plug-in för uttagsbaserad anslutning och en annan plug-in för SSH-baserad anslutning. Flexibel arkitektur för ZRM tillåter användare att skriva sina egna plugin-program.

Som namnet antyder skapar plug-in-pluggen ett uttag som ger kommunikation mellan ZRM och MySQL via IP-baserat nätverk. Plugin-programmet för uttagskopiering kräver att xinetd-tjänsten körs på MySQL-servern och standardporten 25300 är öppen. Om det behövs kan en reservadministratör ändra porten. Plugin-plugin-uttaget är inte säkert och bör endast användas när säkerhet inte är av intresse eller när säkerhet upprättas på annat sätt, till exempel när du har en VPN-anslutning mellan ZRM och din fjärr MySQL-server.

Plugin-programmet SSH copy ger en säker kanal mellan ZRM och fjärr MySQL-servern. Den använder kryptografi med public key för att autentisera MySQL-fjärrservern och backupanvändaren som kör ZRM. SSH-plugin-programmet kräver att standard TCP-port 22 är öppen och att SSH-demon körs. Plugin-programmet för SSH-kopior passar bäst när det är viktigt att säkerställa säkerhetskopieringsdata. Eftersom SSH-anslutning tar extra CPU-cykler för kryptering kan det bli en träff på säkerhetskopieringsprestanda jämfört med säkerhetskopiering med uttag.

Följande tabell sammanfattar överväganden när du väljer socket kontra SSH copy plug-in för fjärrbackup av MySQL:

Fjärranslutning
plug-in
Port används säkerhet Relativ prestanda Installationskommentarer
SSH-kopia 22 (fast) Ger stark autentisering och kryptering för att flytta säkerhetskopieringsdata över kabeln Lägre prestanda och beror på MySQL-serverminne, CPU-resurser och tillgänglig bandbredd. Ofta kanske du redan har SSH-anslutning till en fjärr MySQL-server av andra skäl än säkerhetskopiering och återställning. Annars måste du upprätta SSH-anslutning mellan ZRM och MySQL-servern.
Uttagskopia 25300 (kan ändras) Säkerhetskopieringsdata via kabeln är inte säker Högre prestanda Ytterligare programvara bör installeras på MySQL-servern. Använd till exempel MySQL-zrm-enterprise-socket-server-1.1-1.noarch.rpm för Enterprise-versionen av ZRM 1.1. För community-version, se nedladdningssidan för exakt paket.

För mer teknisk information kan du registrera dig gratis i Zmanda Network och ladda ner den fullständiga versionen av denna vitbok. Du lär dig hur du använder ZRM för flera vanliga scenarier. Till exempel kommer vi att tillhandahålla tekniska detaljer för hur du säkerhetskopierar med data som är säkra på kabeln och i vila med hjälp av plugin-programmet SSH för detta användningsfall:

ZRM över Internet

Dessutom kommer vi att tillhandahålla tekniska detaljer om effektivare logiska och råa säkerhetskopior med hjälp av plugin-programmet för uttagskopiering.

Med all sin rika funktionalitet är ZRM för MySQL bara ett verktyg för att implementera backup- och återställningsstrategi som är optimal för dina specifika dataskyddsbehov. ZRM är robust och lätt att använda, men beroende på din egen implementering av fjärr MySQL-servern och dina specifika krav för säkerhetskopiering och återställning, bör du överväga alla avvägningar som är associerade med varje operativ alternativ som tillhandahålls av ZRM för MySQL.

Referenser:
ZRM för MySQL
ZRM för MySQL Wiki
Zmanda-forum