sql >> Databasteknik >  >> RDS >> Mysql

Backup Best Practices för MySQL, MariaDB och Galera Cluster

Stort tack till alla som registrerade sig och/eller deltog i tisdagens webbseminarium om säkerhetskopieringsstrategier och bästa praxis för MySQL, MariaDB och Galera-kluster under ledning av Krzysztof Książek, Senior Support Engineer på Severalnines. Om du missade sessionen, skulle vilja titta på den igen eller bläddra igenom bilderna finns de nu online för visning. Kolla även in utskriften av frågestunden nedan.

Se webbinariets repris

Oavsett om du är en SysAdmin-, DBA- eller DevOps-proffs som driver MySQL-, MariaDB- eller Galera-kluster i produktion, bör du se till att dina säkerhetskopior är schemalagda, körs och testas regelbundet. Krzysztof delade med sig av några av sina viktigaste tips och tricks i går om hur man gör just det; inklusive en livedemo med ClusterControl. Kort sagt, det här webbinariet visar dig fördelarna och nackdelarna med olika säkerhetskopieringsalternativ och hjälper dig att välja den som passar bäst med din miljö.

Lycka till med säkerhetskopieringen!

Frågor och svar

F. Kan vi styra I/O medan vi tar säkerhetskopiorna med mysqldump och mysqldumper (jag har använt nice tidigare, men det var inte till hjälp).

S. Teoretiskt kan det vara möjligt, även om vi inte riktigt har testat det. Om du verkligen vill tillämpa en viss strypning kanske du vill titta på cgroups - det borde hjälpa dig att strypa I/O-aktiviteten per process.

F. Kan vi ta mydumper med ClusterControl och är ClusterControl fri programvara?

S. Vi stöder för närvarande inte det, men du kan alltid använda det manuellt; ClusterControl hindrar dig inte från att använda det här verktyget. Det finns en gratis communityversion av ClusterControl, ja, även om dess säkerhetskopieringsfunktioner är en del av den kommersiella versionen. Med den kostnadsfria communityversionen kan du distribuera och övervaka din databas (kluster) samt utveckla dina egna anpassade databasrådgivare. Du har också en testperiod på en månad som ger dig tillgång till alla ClusterControls funktioner. Du kan hitta alla funktioner här:https://severalnines.com/pricing

F. Kan xtrabackup fungera med data-at-rest-kryptering?

S. Det kan fungera med krypterad data i MySQL eller Percona Server - det beror på att de bara krypterar tabellutrymmen, som xtrabackup bara kopierar - det behöver inte komma åt innehållet i tabellutrymmen. MariaDB krypterar inte bara tabellutrymmen utan även till exempel InnoDB redo loggar, som måste nås av xtrabackup - därför kan xtrabackup inte fungera med data-at-rest-kryptering som implementerat i MariaDB. På grund av detta gaf MariaDB Corporation xtrabackup till MariaDB Backup. Det här verktyget stöder kryptering utförd av MariaDB.

F. Kan du använda mydumper för punkt-in-time återställning?

A. Ja, det är möjligt. mydumper kan lagra GTID-data så att du kan identifiera den senast tillämpade transaktionen och använda den som en startposition för bearbetning av binära loggar.

F. Är det ett problem om vi använder binära loggar med xtrabackup med start-datetime och end-datetime istället för start-position och end-position? Vi gör en fullständig backup på fredagar och varannan dag en inkrementell backup. När vi behöver återställa tar vi de sista fullständiga och alla inkrementella säkerhetskopiorna och de binära loggarna från denna dag från 00:00 till NU ... kan det vara problem med appliceringsloggen?

S. I allmänhet bör du inte använda --start-datetime eller --end-datetime när du vill svara binär logg på databasen. Den är inte tillräckligt detaljerad – den har en upplösning på en sekund och det kan vara många transaktioner som hände under den sekunden. Du kan använda den för att minimera tidsramen att leta efter manuellt, men det är allt. Om du vill spela om binära loggar bör du använda --start-position och --end-position. Endast detta kommer att exakt definiera från vilket evenemang du kommer att spela om binlogs och på vilket evenemang det kommer att hamna.

F. Ska jag köra dumpprogramvaran på lastbalanseraren eller någon av MySQL-noderna?

S. Vanligtvis kommer du att använda det på MySQL-noder. Vissa av verktygen kan bara göra just det. Till exempel Xtrabackup - du måste köra det lokalt, på databasvärden. Du kan strömma utdata till en annan plats, men det måste startas lokalt.

F. Kan vi ta partiella säkerhetskopior med ClusterControl? Och om ja, hur kan vi återställa en säkerhetskopia på en körande instans?

S. Ja, du kan ta en partiell säkerhetskopia med ClusterControl (du kan säkerhetskopiera separata scheman med hjälp av xtrabackup) men från och med nu kan du inte återställa en partiell säkerhetskopia på en körande instans. Detta orsakas av det faktum att schemat du skulle återställa inte kommer att stämma överens med resten av klustret. För att göra det konsekvent måste klustret vara bootstrappat från noden där du återställer en säkerhetskopia. Så tekniskt sett körs noden hela tiden men det är en ganska tung och invasiv operation. Detta kommer att ändras i nästa version av ClusterControl där du skulle kunna återställa säkerhetskopior på en separat värd. Från den värden kan du sedan dumpa innehållet i ett återställt schema med mysqldump (eller mydumper) och återställa det på ett produktionskluster.

F. Kan du dela med dig av kommandot mysqldumper?

S. Det är ganska svårt att svara på den här frågan utan att kopiera och klistra in från dokumentationen, så vi tror att det är bäst om vi pekar på dokumentationen:https://github.com/maxbube/mydumper/tree/ master/docs

Se webbinariets repris

Relaterat whitepaper DevOps Guide to Database Backups for MySQL och MariaDBDetta whitepaper diskuterar de två mest populära säkerhetskopieringsverktygen som finns tillgängliga för MySQL och MariaDB, nämligen mysqldump och Percona XtraBackup.Download
  1. MySQL – MariaDB – Skriver den allra första lagrade proceduren

  2. Förhindrar JDBC-specifikationen '?' från att användas som operator (utanför citattecken)?

  3. SQL Server 2008 Rad Infoga och uppdatera tidsstämplar

  4. SQL INSERT utan att ange kolumner. Vad händer?