Door Dmitri Joukovski en Pavel Pragin

De MySQL-database is 's werelds meest populaire open source-database geworden vanwege zijn consistente snelle prestaties, hoge betrouwbaarheid en gebruiksgemak. Mogelijk gebruikt u de MySQL-database voor uw online forums en wiki die zich bij een managed hostingprovider bevinden, of u gebruikt het misschien in een extern kantoor om bugs op te sporen met Bugzilla, of u denkt misschien aan het ontwikkelen van een nieuwe Web 2.0-applicatie die MySQL gebruikt . Hoe dan ook, als u waarde hecht aan informatie die is opgeslagen in uw MySQL-database, moet u zorgen voor succesvolle, veilige en consistente back-ups van MySQL met minimale impact op de databasetoepassing. Zorg ervoor dat uw back-upoplossing het meest efficiënte gebruik van netwerk-, server- en opslagbronnen biedt.

Als u op zoek bent naar een oplossing die uw leven vereenvoudigt door een gebruiksvriendelijke maar toch flexibele en robuuste back-up en herstel voor MySQL te bieden, dan is Zmanda Recovery Manager (ZRM) wellicht de juiste keuze voor u. Details over ZRM-functionaliteit is hier beschikbaar.

Voor elke back-up van een database zijn de belangrijkste overwegingen de consistentie van de back-up en de impact op gebruikers en applicaties. Een back-up van de externe MySQL heeft echter extra uitdagingen met betrekking tot:

  • netwerkgebruik
  • beveiliging, en
  • flexibiliteit van herstelbaarheid van MySQL-gegevens naar een andere host.

Het laatste punt kan belangrijk zijn als u niet de volledige controle heeft over uw MySQL-omgeving en u een optie wilt hebben om uw gegevens te herstellen naar een andere managed hostingprovider met een andere versie van MySQL-server of een ander besturingssysteem.

Incrementele back-ups verminderen het back-upvenster en het netwerkgebruik aanzienlijk, omdat alleen de wijzigingen sinds de laatste volledige of de laatste incrementele back-up over de kabel worden verplaatst. ZRM maakt het gemakkelijk voor u om uw gegevens te herstellen vanuit incrementele back-ups, zelfs als u meerdere incrementele back-upafbeeldingen moet gebruiken om uw gegevens terug te krijgen naar een bepaald tijdstip. De incrementele back-ups vereisen dat MySQL binaire logboeken zijn ingeschakeld, maar volgens de MySQL-documentatie zal het inschakelen van binaire logboeken resulteren in prestatiehit van minder dan 1%.

Logische back-ups bieden meer flexibiliteit voor herstel, omdat het back-upbestand een tekstbestand is dat alle MySQL-instructies bevat om zowel het databaseschema als de inhoud opnieuw te maken. Logische back-up werkt voor alle opslagengines behalve de NDB-engine die wordt gebruikt voor MySQL-clustering. Het grootste voordeel van logische back-up is de flexibiliteit voor databaseherstel. U kunt een logische back-up van MySQL herstellen naar een andere architectuur en zelfs naar een andere database. De transporteerbaarheid van logische ZRM-back-upafbeeldingen maakt ZRM tot een handig hulpmiddel voor migratie. U kunt bijvoorbeeld uw MySQL-gegevens verplaatsen:

  • Van MySQL op Solaris tot MySQL op Linux
  • Van de ene opslagmotor naar de andere
  • Van een 32-bits server naar een 64-bits server
  • Van de ene managed hostingprovider naar uw datacenter of een andere provider met een andere MySQL-configuratie

Er is natuurlijk een prijs te betalen voor een dergelijk flexibel herstel. Het herstellen van gegevens uit de logische back-ups kan lang duren, aangezien u alle MySQL-instructies moet lezen en opnieuw moet afspelen. Een ander nadeel is dat het moeilijk kan zijn om de grootte van uw logische back-up te voorspellen. Afhankelijk van het type gegevens en uw databaseschema, kan de omvang van de logische back-up groter zijn dan de database zelf. Een remedie is dat, aangezien logische back-up in feite een tekstbestand is, u meestal een behoorlijke compressie kunt krijgen.

Raw-back-up biedt een consistente kopie van een database, waarbij uw back-up een binair bestand is. De voordelen van onbewerkte back-ups ten opzichte van logische back-ups zijn:

  • Back-ups en vooral herstelacties zijn veel sneller. Het is bijvoorbeeld niet ongebruikelijk om te zien dat voor dezelfde database met een grootte van 4-5 GB de onbewerkte back-up 5 keer sneller is dan de logische back-up, en het herstellen van de onbewerkte back-upafbeelding 20 keer sneller is dan het herstellen van de logische back-up. beeld.
  • U weet altijd hoe groot uw back-up is, aangezien het slechts een kopie van een database is.
  • Het biedt een betere schaalbaarheid, wat belangrijk kan zijn als uw MySQL-database vrij groot is, bijvoorbeeld 10-20 GB of meer.

Onbewerkte back-ups kunnen ALLEEN worden hersteld naar dezelfde versie van de MySQL-server op hetzelfde besturingssysteem als de originele gegevens. Het betekent dat uw kansen om onbewerkte back-upafbeeldingen van MySQL te herstellen naar een andere managed hostingprovider niet erg hoog zijn en dat u daar rekening mee moet houden bij het kiezen van onbewerkte of logische back-up.

Zowel onbewerkte als logische back-ups bieden warme back-ups, wat betekent dat u de MySQL-server niet hoeft af te sluiten voor back-up, maar alle tabellen zijn vergrendeld tijdens de back-up en gebruikers kunnen hun gegevens niet invoeren. Daarom zou u moeten overwegen om de ZRM-planningsplug-in te gebruiken waarmee u back-ups kunt vertragen op basis van door u gedefinieerde drempels. U kunt de back-up bijvoorbeeld een uur uitstellen als meer dan 50 gebruikers toegang hebben tot de database.

Een van de belangrijke overwegingen bij het op afstand maken van een back-up van MySQL is de beslissing over het type verbinding tussen ZRM en de externe MySQL-server. ZRM biedt een plug-in voor aansluiting op basis van stopcontacten en een andere plug-in voor op SSH gebaseerde aansluiting. Dankzij de flexibele architectuur van ZRM kunnen gebruikers hun eigen plug-ins schrijven.

Zoals de naam al doet vermoeden, brengt de socket-kopieerplug-in een socket tot stand die zorgt voor communicatie tussen ZRM en MySQL via een IP-gebaseerd netwerk. De socket copy plug-in vereist dat de xinetd-service op de MySQL-server draait en dat de standaardpoort 25300 open is. Indien nodig kan een back-upbeheerder de poort wijzigen. De plug-in voor het kopiëren van een socket is niet veilig en mag alleen worden gebruikt als de beveiliging niet van belang is of als de beveiliging op een andere manier tot stand is gebracht, bijvoorbeeld wanneer u een VPN-verbinding hebt tussen ZRM en uw externe MySQL-server.

De SSH-kopieerplug-in biedt een veilig kanaal tussen ZRM en de externe MySQL-server. Het maakt gebruik van public-key cryptografie om de externe MySQL-server en de back-upgebruiker die ZRM draait te verifiëren. De SSH-plug-in vereist dat de standaard TCP-poort 22 open is en dat de SSH-daemon actief is. De SSH-kopieerplug-in is het meest geschikt als het belangrijk is om de beveiliging van back-upgegevens te waarborgen. Omdat een SSH-verbinding extra CPU-cycli nodig heeft voor codering, kan de back-upprestatie worden beïnvloed in vergelijking met back-up met socketverbinding.

De volgende tabel geeft een overzicht van de overwegingen bij het kiezen van socket versus SSH-kopieerplug-in voor externe back-up van MySQL:

Verbinding op afstand
inpluggen
Gebruikte poort Veiligheid Relatieve prestaties Installatie opmerkingen
SSH-kopie 22 (vast) Biedt sterke authenticatie en codering om back-upgegevens over de kabel te verplaatsen Lagere prestaties en hangt af van MySQL-servergeheugen, CPU-bronnen en beschikbare bandbreedte. Vaak hebt u mogelijk al een SSH-verbinding met een externe MySQL-server tot stand gebracht om andere redenen dan back-up en herstel. Anders moet u een SSH-verbinding tot stand brengen tussen ZRM en MySQL-server.
Socket kopiëren 25300 (kan worden gewijzigd) Back-upgegevens over de kabel zijn niet veilig Hogere prestaties Extra software moet op de MySQL-server worden geïnstalleerd. Gebruik voor Enterprise-versie van ZRM 1.1 bijvoorbeeld MySQL-zrm-enterprise-socket-server-1.1-1.noarch.rpm. Zie de downloadpagina voor het exacte pakket voor de communityversie.

Voor meer technische details, registreer u gratis bij Zmanda Network en download de volledige versie van deze whitepaper. U leert hoe u ZRM kunt gebruiken voor verschillende veelvoorkomende scenario's. We zullen bijvoorbeeld technische details verstrekken over het uitvoeren van een back-up met gegevens die veilig zijn op de kabel en in rust zijn met behulp van de SSH-kopieerplug-in voor dit gebruik:

ZRM via internet

Bovendien zullen we technische details verstrekken over efficiëntere logische en onbewerkte back-ups met behulp van de socket-kopieerplug-in.

Met al zijn rijke functionaliteit is ZRM voor MySQL slechts een hulpmiddel voor het implementeren van een back-up- en herstelstrategie die optimaal is voor uw specifieke behoeften op het gebied van gegevensbescherming. ZRM is robuust en gebruiksvriendelijk, maar afhankelijk van uw eigen implementatie van de externe MySQL-server en uw specifieke vereisten voor back-up en herstel, moet u rekening houden met alle afwegingen die zijn verbonden aan elke operationele optie die door ZRM voor MySQL wordt geboden.

Referenties:
ZRM voor MySQL
ZRM voor MySQL Wiki
Zmanda-forums