sql >> Database teknologi >  >> RDS >> Mysql

Backup Best Practices for MySQL, MariaDB og Galera Cluster

Mange tak til alle, der tilmeldte sig og/eller deltog i tirsdagens webinar om sikkerhedskopieringsstrategier og bedste praksis for MySQL-, MariaDB- og Galera-klynger ledet af Krzysztof Książek, Senior Support Engineer hos Severalnines. Hvis du gik glip af sessionen, gerne vil se den igen eller gennemse slides, er de nu online til visning. Se også udskriften af ​​Q&A-sessionen nedenfor.

Se gentagelsen af ​​webinaret

Uanset om du er en SysAdmin-, DBA- eller DevOps-professionel, der driver MySQL-, MariaDB- eller Galera-klynger i produktion, bør du sørge for, at dine sikkerhedskopier er planlagt, udført og regelmæssigt testet. Krzysztof delte nogle af sine vigtigste tips og tricks til bedste praksis i går til, hvordan man gør netop det; inklusive en live demo med ClusterControl. Kort sagt viser dette webinar-genspil dig fordele og ulemper ved forskellige sikkerhedskopieringsmuligheder og hjælper dig med at vælge den, der passer bedst til dit miljø.

God backup!

Spørgsmål og svar

Q. Kan vi styre I/O, mens vi tager sikkerhedskopierne med mysqldump og mysqldumper (jeg har brugt nice før, men det var ikke nyttigt).

A. Teoretisk er det måske muligt, selvom vi ikke rigtig har testet det. Hvis du virkelig ønsker at anvende en vis regulering, kan det være en god ide at se nærmere på cgroups - det burde hjælpe dig med at dæmpe I/O-aktiviteten pr. proces.

Q. Kan vi tage mydumper med ClusterControl, og er ClusterControl gratis software?

A. Vi understøtter det ikke i øjeblikket, men du kan altid bruge det manuelt; ClusterControl forhindrer dig ikke i at bruge dette værktøj. Der er en gratis fællesskabsversion af ClusterControl, ja, selvom dens backupfunktioner er en del af den kommercielle version. Med den gratis community-version kan du implementere og overvåge din database (klynger) samt udvikle dine egne tilpassede databaserådgivere. Du har også en prøveperiode på en måned, der giver dig adgang til alle ClusterControls funktioner. Du kan finde alle funktionerne her:https://severalnines.com/pricing

Sp. Kan xtrabackup fungere med data-at-rest-kryptering?

A. Det kan arbejde med krypterede data i MySQL eller Percona Server - det er fordi de kun krypterer tablespaces, som xtrabackup bare kopierer - det behøver ikke at få adgang til indholdet af tablespaces. MariaDB krypterer ikke kun tablespaces, men også for eksempel InnoDB redo logs, som skal tilgås af xtrabackup - derfor kan xtrabackup ikke fungere med data-at-rest-kryptering som implementeret i MariaDB. På grund af dette gaflet MariaDB Corporation xtrabackup ind i MariaDB Backup. Dette værktøj understøtter kryptering udført af MariaDB.

Q. Kan du bruge mydumper til gendannelse på tidspunktet?

A. Ja, det er muligt. mydumper kan gemme GTID-data, så du kan identificere den sidst anvendte transaktion og bruge den som en startposition til behandling af binære logfiler.

Sp. Er det et problem, hvis vi bruger binære logfiler med xtrabackup med start-datotid og slutdatotid i stedet for startposition og slutposition? Vi laver en fuld backup om fredagen og hver anden dag en trinvis backup. Når vi skal gendanne, tager vi de sidste fulde og alle inkrementelle sikkerhedskopier og de binære logfiler fra denne dag fra kl. 00:00 til NU ... kan der være et problem med appliceringslog?

A. Generelt bør du ikke bruge --start-datetime eller --end-datetime når du ønsker at svare binær log på databasen. Det er ikke detaljeret nok - det har en opløsning på et sekund, og der kan være mange transaktioner, der skete i løbet af det sekund. Du kan bruge det til at minimere tidsrammen for at lede efter manuelt, men det er alt. Hvis du vil afspille binære logfiler igen, skal du bruge --start-position og --end-position. Kun dette vil præcist definere, fra hvilken begivenhed du vil genafspille binlogs, og på hvilken begivenhed det ender.

Q. Skal jeg køre dump-softwaren på load balancer eller en af ​​MySQL-noderne?

A. Typisk vil du bruge det på MySQL-noder. Nogle af værktøjerne kan kun gøre netop det. For eksempel Xtrabackup - du skal køre det lokalt på databaseværten. Du kan streame output til et andet sted, men det skal startes lokalt.

Q. Kan vi tage delvise sikkerhedskopier med ClusterControl? Og hvis ja, hvordan kan vi gendanne en sikkerhedskopi på en kørende instans?

A. Ja, du kan tage en delvis sikkerhedskopi ved hjælp af ClusterControl (du kan sikkerhedskopiere separat skema ved hjælp af xtrabackup), men som nu kan du ikke gendanne en delvis backup på en kørende instans. Dette er forårsaget af det faktum, at det skema, du ville gendanne, ikke vil være i overensstemmelse med resten af ​​klyngen. For at gøre det konsistent skal klyngen bootstrappes fra den node, hvor du gendanner en sikkerhedskopi. Så teknisk set kører noden hele tiden, men det er en ret tung og invasiv operation. Dette ændres i den næste version af ClusterControl, hvor du vil være i stand til at gendanne sikkerhedskopier på en separat vært. Fra den vært kunne du derefter dumpe indholdet af et gendannet skema ved hjælp af mysqldump (eller mydumper) og gendanne det på en produktionsklynge.

Q. Kan du venligst dele mysqldumper-kommandoen?

A. Det er ret svært at besvare dette spørgsmål uden at kopiere og indsætte fra dokumentationen, så vi tror, ​​det vil være det bedste, hvis vi vil henvise dig til dokumentationen:https://github.com/maxbube/mydumper/tree/ master/docs

Se gentagelsen af ​​webinaret

Relateret hvidbog DevOps-guiden til databasesikkerhedskopiering til MySQL og MariaDBDenne hvidbog diskuterer de to mest populære sikkerhedskopieringsværktøjer til MySQL og MariaDB, nemlig mysqldump og Percona XtraBackup.Download
  1. Hvad er DATALENGTH()-ækvivalenten i MySQL?

  2. Returner en grupperet liste med forekomster ved hjælp af Rails og PostgreSQL

  3. MySQL fejlkode:1175 under OPDATERING i MySQL Workbench

  4. Postgresql håndhæver unik to-vejs kombination af kolonner