Her er de MySQL-værktøjer, du har brug for

MySQL-community'et producerer en lang række uundværlige open source-værktøjer, som du frit kan bruge til at forbedre dine MySQL-systemers ydelse og sundhed. Her har vi samlet de bedste.

Artikel top billede

Foto: Mark Lee.

Læs også:
Disse værktøjer til MySQL kan du ikke undvære[b] (
del 1)

[/b]Jeg har samlet 10 open source-værktøjer, som vil være værdifulde ressourcer for enhver, der anvender MySQL. Her kommer anden del af serien.

Du kan læse mere om baggrunden for listen her, hvor du også kan se de første værktøjer. 

Uundværligt MySQL-værktøj nr. 3: xtrabackup og xtrabackup-manager 
Hvis dine databaser bruges hver dag, døgnet rundt, så du ikke har mulighed for natlig nedetid, hvor tabellerne kan låses, så du kan foretage backup, så er løsningen xtrabackup.

Dette værktøj kendes også som Percona XtraBackup og er det eneste gratis, open source-værktøj, der udfører ikke-blokerende backup. Til sammenligning kan kommerciel ikke-blokerende backup-software koste over 26.000 kroner per server. 

Xtrabackup tilbyder også inkrementel backup, hvilket gør det muligt for dig kun at lave backup af de data, der er ændret siden sidste komplette backup. Det kan være til stor fordel at føje inkrementel backup til din backup-proces, da disse vældig meget mindre backup-opgaver tager langt færre systemressourcer at udføre. 

Derudover er der opstået et andet projekt ud af arbejdet med xtrabackup, som gør det endnu lettere at håndtere en komplet backup-plan, navnlig xtrabackup-manager.

Selvom dette værktøj er nyt og stadig under udvikling, har det stort potentiale, fordi det tilbyder avancerede funktioner såsom roterende backup med grupper og udløbstidspunkter for backup-sæt. Sammen udgør xtrabackup og xtrabackup-manager en formidabel og gratis backup-løsning. 

Download: http://www.percona.com/software/percona-xtrabackup/downloads/ 
Vedligeholdes af: Percona 
Mere information: http://www.percona.com/docs/wiki/percona-xtrabackup:start | https://launchpad.net/percona-xtrabackup 

Download: http://code.google.com/p/xtrabackup-manager/ 
Vedligeholdes af: Lachlan Mulcahy 
Mere information: http://code.google.com/p/xtrabackup-manager/ | http://mysqlsoapbox.blogspot.com/ 

Uundværligt MySQL-værktøj nr. 4: tcprstat 
Tcprstat er nok det mest esoteriske af de 10 værktøjer på denne liste. Værktøjet overvåger TCP-forespørgsler og printer statistik om svartider på lavt niveau. Når du bliver hjemmevant i at tænke på ydelse ud fra svartider, så er der et væsentligt udbytte at hente i tcprstat. 

Princippet forklares nærmere i bogen "Optimizing Oracle Performance", skrevet af Cary Millsap og Jeff Holt, og gælder lige såvel i forhold til MySQL. Den grundlæggende idé er, at en service - i dette tilfælde MySQL - accepterer en anmodning (forespørgsel), udfører den anmodning (eksekveringstid) og svarer med resultater (resultatsæt).

Servicens svartid er den, der går fra modtagelse af en anmodning til afsendelse af et svar. Jo kortere svartid, des flere anmodninger kan behandles på den samme mængde tid. 

Parallelberegning og andre faktorer på lavt niveau spiller her en væsentlig rolle, men forenklet sagt kan udbyttet forklares med, at der er 28.800 sekunder på en otte timers arbejdsdag, og ved at reducere svartiderne med blot fire tiendedele af et sekund (eksempelvis fra 0,5 til 0,1 sekund) kan man hver dag behandle 230.400 flere anmodninger. 

Der er kun lige plads i denne artikel til at pirre din nysgerrighed, så jeg vil afslutte introduktionen til dette værktøj med at fortælle dig om det første skridt i arbejdet med at optimere MySQL-svartider: Læs "Optimizing Oracle Performance" og begynd derefter at anvende tcprstat. 

Download: (kildekode) https://launchpad.net/tcprstat | (binær) http://www.percona.com/docs/wiki/tcprstat:start 
Vedligeholdes af: Percona 
Mere information: 
http://www.percona.com/docs/wiki/tcprstat:start 
og https://launchpad.net/tcprstat 

Se flere uundværlige værktøjer på næste side.

Flere uundværlige MySQL-værktøjer

Uundværligt MySQL-værktøj nr. 5: pt-table-checksum 
Såkaldt "data drift" eller afvigelser i dataene udgør et betydeligt problem for dynamiske MySQL-miljøer. Dette problem, hvor slave-data kommer ud af synkronisering med master-dataene, forårsages ofte af, at data skrives til en slave eller at der udføres bestemte nondeterministiske forespørgsler på masteren.

Hvad værre er, sådanne afvigelser kan fortsætte i al ubemærkethed, indtil de lammer systemet. Her kommer pt-table-checksum ind i billedet. Det er et værktøj, der udfører komplekse udregninger, der er nødvendige for at kontrollere, om dataene i to eller flere tabeller er identiske. 

Pt-table-checksum fungerer både med standalone-servere og med servere i et replikerings-hierarki, hvor værktøjet virkelig kommer til sin ret. En verifikation af tabeldataene mellem en master og en slave er nødt til at tage højde for overensstemmelse i replikeringen.

Da ændringer i masteren replikeres til slaver med en vis forsinkelse, er det ikke en pålidelig måde at verificere overensstemmelsen ved blot at læse data fra serverne, fordi dataene konstant ændres og er ufuldstændige, indtil de er komplet replikerede.

Det ville være muligt at foretage konsistente læsninger, hvis man låste tabellerne og ventede på, at alle data var replikerede, men det ville også effektivt sætte serverne ud af spil. Pt-table-checksum gør dig derimod i stand til at udføre ikke-blokerende, konsistente kontrolsum af master- og slave-data.

Udover konsistens i forhold til replikering er der også andre vanskeligheder ved verifikation af data. Tabelstørrelser er en af dem. MySQL-kommandoen CHECKSUM TABLE er tilstrækkelig for små tabeller, men store tabeller kræver såkaldt "chunking" - det vil sige at bryde større opgaver ned i mindre bidder - for at undgå at optage eller overbelaste beregnings- eller hukommelses-ressourcerne med kontrolsum-beregninger. 

Chunking løser også et andet problem, navnlig behovet for jævnlig kontrol af data-konsistens. Selvom data drift kan være en engangs-hændelse, så vil det oftest gentage sig. Pt-table-checksum er designet til uafbrudt at kontrollere tabellerne bid for bid, indtil hele tabellen er blevet tjekket.  At denne proces hele tiden er i gang hjælper til at sikre, at gentagende afvigelser løbende korrigeres. 

Mere information: http://www.percona.com/doc/percona-toolkit/pt-table-checksum.html 
Vedligeholdes af: Daniel Nichter og Baron Schwartz 
Værktøjet er en del af Percona Toolkit, som kan hentes her.

Uundværligt MySQL-værktøj nr. 6: pt-stalk og [b]pt-collect[/b] 
Problemer har det med at vente med at opstå, indtil man ikke lige kigger eller mens man ligger derhjemme og sover. Det kan i sådanne tilfælde være direkte umuligt at diagnosticere et problem fyldestgørende, uden data om hvilken tilstand MySQL og serveren var i, da problemet opstod.

Da ingen alligevel kender dit system bedre end dig selv, vil den naturlige tendens ofte være at skrive dit eget script, der venter på eller kontrollerer efter problemer for derefter at begynde at logge ekstra data.

Problemet med denne tilgang er, at du kender dit system bedst, når det fungerer - det vil sige, at du ved, hvordan det burde fungere - men hvis du kendte systemets svagheder, ville du jo blot rette dem frem for at forsøge at opdage og analysere deres symptomer. 

Heldigvis har nogle af de, der specialiserer sig i at vide, hvornår MySQL ikke fungerer og i at løse de problemer, der opstår, når det sker, skrevet en duo af værktøjer ved navn pt-stalk og pt-collect.

Det første værktøj venter på, at bestemte betingelser bliver opfyldt, hvorefter den kører en instance af det andet værktøj. Det lyder trivielt, men disse to værktøjer er effektive, fordi der er taget hånd om visse detaljer. 

For det første kan pt-stalk køre pt-collect i tilpassende intervaller, så du slipper for at logge alt for mange overflødige data, der kan komplicere den efterfølgende analyse. For det andet indsamler pt-collect ikke blot de almindelige informationer, som MySQL selv kan rapportere om, men langt flere data, som du ikke nødvendigvis havde overvejet at inkludere såsom blandt andet lsof, strace og tcpdump.

Så hvis du ender med at konsultere en professionel med speciale i at rette MySQL-problemer, vil du have alle tænkeligt brugbare data. 

Pt-stalk og pt-collect kan konfigureres, så de kan bruges til stort set ethvert problem. Det eneste krav er tilstedeværelsen af en definerbar betingelse, som kan være den udløsende faktor for, at pt-stalk kører pt-collect. Hvis problemet opstår ved adskillige betingelser, kan du have behov for ekstern assistance til en mere gennemgribende undersøgelse af dit MySQL-miljø, da der kan opstå problemer i MySQL, hvor den underliggende årsag er at finde et helt andet sted. 

Pt-stalk og pt-collect kan også anvendes proaktivt. Hvis du for eksempel ved, at der aldrig på noget givent tidspunkt skal være mere end 50 aktive MySQL-forbindelser, så kan du proaktivt opsætte en sådan overvågning. Disse værktøjer er således brugbare både i forhold til kendte problemer og til problemer, du endnu ikke har iagttaget. 

Mere information: http://www.percona.com/doc/percona-toolkit/pt-stalk.html | http://www.percona.com/doc/percona-toolkit/pt-collect.html
Vedligeholdes af: Baron Schwartz 
Værktøjerne er en del af Percona Toolkit, som kan hentes her.

Oversat af Thomas Bøndergaard.

Læs også:
Disse værktøjer til MySQL kan du ikke undvære[b] (
del 1)[/b]

Læses lige nu
    Computerworld Events

    Vi samler hvert år mere end 6.000 deltagere på mere end 70 events for it-professionelle.

    Ekspertindsigt – Lyt til førende specialister og virksomheder, der deler viden om den nyeste teknologi og de bedste løsninger.
    Netværk – Mød beslutningstagere, kolleger og samarbejdspartnere på tværs af brancher.
    Praktisk viden – Få konkrete cases, værktøjer og inspiration, som du kan tage direkte med hjem i organisationen.
    Aktuelle tendenser – Bliv opdateret på de vigtigste dagsordener inden for cloud, sikkerhed, data, AI og digital forretning.

    Andre events | København

    Executive Conversations: Når geopolitisk usikkerhed udfordrer Danmarks digitale suverænitet

    Geopolitisk usikkerhed og værdikonflikter mellem USA og Europa rammer nu direkte den danske it-dagsorden. Få indsigt i konsekvenserne – og hvordan du minimerer risikoen i en ny teknologisk virkelighed.

    Sikkerhed | København

    Cyber Security Festival 2025

    Mød Danmarks skrappeste it-sikkerhedseksperter og bliv klar til at planlægge og eksekvere en operationel og effektiv cybersikkerhedsstrategi, når vi åbner dørene for +1.200 it-professionelle. Du kan glæde dig til oplæg fra mere end 50 talere og...

    It-løsninger | Online

    ERP Insights 2025

    Få den nyeste viden om værktøjer, der kan optimere hele din virksomhed med udgangspunkt i AI og fleksibilitet.

    Se alle vores events inden for it

    Navnenyt fra it-Danmark

    Netip A/S har pr. 19. august 2025 ansat Marck Stadel Klaris som Datateknikerelev ved netIP's kontor i Herning. Nyt job
    IT Confidence A/S har pr. 1. oktober 2025 ansat Johan Léfelius som it-konsulent. Han skal især beskæftige sig med med support, drift og vedligeholdelse af kunders it-miljøer samt udvikling af sikre og stabile løsninger. Han kommer fra en stilling som kundeservicemedarbejder hos Telia Company Danmark A/S. Han er uddannet (under uddannelse) som datatekniker med speciale i infrastruktur. Han har tidligere beskæftiget sig med kundeservice, salg og teknisk support. Nyt job

    Johan Léfelius

    IT Confidence A/S

    Netip A/S har pr. 19. august 2025 ansat Carl Severin Degn Nørlyng som IT-Supporterelev ved afd. Thisted og afd. Herlev. Nyt job