sql >> Databasteknik >  >> RDS >> MariaDB

ClusterControl - Advanced Backup Management - mariabackup del III

Hintills i de två föregående delarna av denna korta bloggserie har vi diskuterat flera alternativ som kan påverka tidpunkten och storleken på säkerhetskopieringen. Vi har diskuterat olika komprimeringsalternativ och en inställning relaterad till att strypa nätverksöverföringen om du strömmar data från noden till styrenhetsvärden. Den här gången vill vi lyfta fram något annat - möjligheten att ta partiella säkerhetskopior med MariaBackup. Låt oss först prata om de partiella säkerhetskopiorna och vilka utmaningar som är relaterade till dem.

Delvisa säkerhetskopior

MariaBackup är ett säkerhetskopieringsverktyg som skapar fysiska säkerhetskopior. Vad det betyder är att det kommer att kopiera data som lagras i filer på databasnoden till målplatsen. Det kommer att skapa en konsekvent säkerhetskopia av databasen, något som gör att du kan återställa dina data till en exakt tidpunkt - den tidpunkt då säkerhetskopieringen slutfördes. All data i alla tabeller och scheman kommer att vara konsekventa. Detta är ganska viktigt att ha i åtanke. Konsekventa säkerhetskopior kan användas för att tillhandahålla repliker, köra Point-in-Time Restore och så vidare.

Delvisa säkerhetskopior å andra sidan är, ja, partiella. Endast en delmängd av tabellerna säkerhetskopieras. Uppenbarligen gör detta säkerhetskopieringen inkonsekvent. Det kan inte användas för att skapa en replik eller för att återställa data till samma tidpunkt. Partiella säkerhetskopior har fortfarande sin egen användning. De kan användas för att återställa en delmängd av data - istället för att återställa hela säkerhetskopian kan du återställa bara en enda tabell och sedan extrahera den data du behöver. Visst, du kan göra detsamma med logiska säkerhetskopior, men de är ganska långsamma och inte riktigt lämpliga för någon form av större distributioner.

Nackdelen är att partiell säkerhetskopiering inte är konsekvent i tiden. Detta borde vara ganska uppenbart eftersom vi bara samlar in en delmängd av data. En annan utmaning är återställning - du kan inte enkelt återställa partiella säkerhetskopior direkt på produktionssystemen. För det första för att det inte är okomplicerat, för det andra för att det inte är konsekvent. Det säkraste sättet att återställa partiell säkerhetskopia skulle vara att återställa den på en separat nod och sedan använda mysqldump eller SELECT INTO OUTFILE för att extrahera nödvändig data.

Låt oss ta en titt på alternativen som ClusterControl ger oss angående de partiella säkerhetskopieringarna.

Delvisa säkerhetskopior i ClusterControl

Först och främst används inte partiella säkerhetskopior som standard, du måste uttryckligen aktivera dem. Sedan dyker en uppsättning alternativ upp som låter oss välja vad vi vill säkerhetskopiera. Vi kan välja ett visst schema eller en uppsättning tabeller. Vi kan ta en säkerhetskopia av alla tabeller utom några eller så kan vi bara säga att vi vill ta en säkerhetskopia av tabellerna A, B och C.

FotoförfattareFotobeskrivning

När du går till rullgardinsmenyn kommer du naturligtvis att se alla databaser och alla tabeller listade att välja mellan.

Vi har valt några av tabellerna och schemana och vi ska köra denna backup nu. Naturligtvis, om du vill det, kan du schemalägga partiella säkerhetskopieringar på exakt samma sätt som vanliga.

På den andra skärmen kan vi konfigurera mariabackup efter vår smak, precis som vi förklarat i våra tidigare blogginlägg. Det är det, klicka på knappen Skapa säkerhetskopia så startar processen.

Återställer partiell säkerhetskopia i ClusterControl

När säkerhetskopian är klar kommer den att synas på säkerhetskopieringslistan.

Vi kan se att det är en partiell säkerhetskopia eftersom det finns en lista med scheman som ingår i den.

När vi försöker återställa en partiell säkerhetskopia i ett asynkront replikeringskluster presenteras med två alternativ. Återställ på nod och återställ och verifiera på fristående värd. Det förra är definitivt inget vi vill göra eftersom det skulle radera ut en del av den data vi inte har i säkerhetskopian. Det senare alternativet, å andra sidan, låter dig distribuera en separat nod och återställa säkerhetskopian på den.

Allt vi behöver göra är att välja ett värdnamn som kan nås av SSH från ClusterControl och se till att den inte stoppas efter att säkerhetskopian har återställts. Detta låter oss återställa den partiella säkerhetskopian och sedan komma åt den för att extrahera alla typer av data vi vill ha.

Vi hoppas att den här korta bloggen ger dig lite insikt i hur ClusterControl låter dig utföra partiella säkerhetskopieringar, vilka användningsfall som finns och hur du kan återställa dem på ett säkert sätt.


  1. Crow's Foot Notation

  2. Kan inte ansluta till lokal PostgreSQL

  3. Analysera Big Data med Microsoft Azure Tools

  4. grundläggande pyodbc bulkinsats