Artikel top billede

Foto: Mark Lee

Her er de mest uundværlige MySQL-værktøjer - del 3

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.

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

Her er de MySQL-værktøjer, du har brug for (del 2)

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. 7: mycheckpoint
 
Det er ikke altid, man ønsker at vente på, at noget går galt, før man gør noget ved et potentielt problem, og kontrolpaneler kan være en uundværlig måde at overvåge sit MySQL-miljø for potentielle problemer, før de opstår. 

Der findes mange gratis og kommercielle applikationer til overvågning i MySQL, hvor nogle specifikt er til MySQL, mens andre er generiske med MySQL-plugins eller -skabeloner. Mycheckpoint er bemærkelsesværdig, idet den er gratis, open source, specifikt til MySQL og funktionskomplet. 

Lige som mange andre overvågningsløsninger er mycheckpoint webbaseret. 

Mycheckpoint kan konfigureres til at overvåge kriterier for både MySQL og serveren såsom InnoDB buffer pool flushes, oprettelsen af midlertidige tabeller, systembelastningen, hukommelsesforbruget og meget andet. Hvis du ikke bryder dig om diagrammer, kan mycheckpoint også generere mere menneskevenlige rapporter. 

Ligesom det er tilfældet med pt-stalk, kan man også her definere advarsels-betingelser med notifikationer via e-mail, men der er her intet sekundært værktøj ligesom pt-collect til at logge yderligere data til brug ved fejlfinding. En anden brugbar funktion er dog mycheckpoints evne til overvåge MySQL-variabler og derved opdage ændringer, der potentielt kan føre til problemer eller være tegn på, at nogen har foretaget uautoriserede ændringer. 

Overvågning af MySQL er ikke kun for datacentre og store implementeringer. Selvom hvis man blot har en enkelt MySQL-server, er overvågning uundværligt. Ligesom med en bil er der meget, man kan finde ud af om systemet, mens det kører, som kan hjælpe til at forudse eller undgå driftsforstyrrelser. Mycheckpoint er en ud af mange løsninger, det kan betale sig at prøve. 

Download:http://code.google.com/p/mycheckpoint/downloads/list 
Vedligeholdes af: Shlomi Noach 
Mere information: http://code.openark.org/forge/mycheckpoint 

Uundværligt MySQL-værktøj nr. 8: shard-query 
Forespørgsler om partitionerede eller såkaldte sharded datasæt kan gøres dramatisk meget hurtigere ved brug af shard-query, som bag kulisserne paralleliserer bestemte forespørgsler. Forespørgsler, der bruger følgende constructs kan drage fordel af shard-querys parallelle eksekvering: 


  • Underforespørgsler i FROM
  • UNION og UNION ALL
  • IN
  • BETWEEN
Også funktioner som SUM, COUNT, MIN og MAX kan bruges med disse constructs. For eksempel kan følgende forespørgsel udføres parallelt af shard-query: 

SELECT DayOfWeek, COUNT(*) AS c 
FROM ontime_fact 
JOIN dim_date USING(date_id) 
WHERE Year 
BETWEEN 2000 AND 2008 
GROUP BY DayOfWeek 
ORDER BY c DESC; 

Test viser, at parallelisering af denne forespørgsel reducerer dens svartid med rundt regnet 85 procent fra 21 til tre sekunder. 

Shard-query er dog ikke et selvstændigt værktøj. Det kræver andre programmer såsom Gearman og er relativt kompliceret at opsætte. Men hvis dine data er partitionerede og dine forespørgsler bruger nogen af ovenstående constructs, så er fordelene umagen værd. 

Download: (svn checkout) http://code.google.com/p/shard-query/source/checkout 
Vedligeholdes af: Justin Swanhart 
Mere information: http://code.google.com/p/shard-query/

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. 9: pt-archiver 
I takt med at tabellerne bliver større, kan forespørgslerne efter dem blive langsommere. Der er mange faktorer, der påvirker svartider, men hvis man har optimeret alt andet og den eneste tilbageværende mistanke falder på en meget stor tabel, så kan det vise at give hurtigere svartider, hvis man arkiverer nogle af rækkerne fra denne tabel. 

Hvis ikke tabellen er uvæsentlig, bør man aldrig blot slette rækker. Arkivering kræver finesse for at sikre, at man ikke mister data, at tabellen ikke låses unødigt og at arkiveringsprocessen hverken overbelaster MySQL eller serveren.

Målsætningen er en arkiveringsproces, der er pålidelig og umærkelig på nær dens gavnlige effekt bestående af reducerede svartider. Alt det opnår pt-archiver. 

Pt-archiver har to grundlæggende krav. Det første er, at det skal være muligt at identificere de rækker, der skal arkiveres. Et eksempel kan være, at man har en tabel med en dato-kolonne og man ved, at der kun er brug for de sidste N år af data, så ved man også, at rækker med datoer ældre end N år trygt kan arkiveres.

Det andet er, at der skal eksistere et unikt indeks, der kan hjælpe pt-archiver til at identificere arkiverbare rækker, uden at hele tabellen skal skannes. Det koster ressourcer at skanne en stor tabel, derfor gøres der brug af et indeks og specifikke SELECT-udsagn, så man undgår tabel-skanninger. 

I praksis håndterer pt-archiver automatisk de tekniske detaljer. Du skal ikke gøre andet end at fortælle værktøjet, hvilken tabel, der skal arkiveres, hvordan det identificerer arkiverbare rækker og hvor de rækker skal arkiveres.

Disse rækker kan herefter slettes, kopieres til en anden tabel eller skrives til en dump-fil, så de kan bruges til fremtidig genoprettelse, hvis behovet skulle opstå. Når man er blevet tryg ved værktøjet, er der mange valgmuligheder for at finjustere arkiveringsprocessen. Derudover kan pt-archiver integreres, så værktøjet kan bruges til at opfylde komplekse arkiveringsbehov uden at lappe i koden. 

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

Uundværligt MySQL-værktøj nr. 10: oak-security-audit 
Hvornår gennemgik du sidst dine MySQL-serveres sikkerhed? Du er ikke alene, hvis svaret er "aldrig". Der er mange virksomheder, der tilbyder sikkerhedsevalueringer, men på nær hvis intet nogensinde ændres efter en sådan evaluering, så bør dit MySQL-miljøs sikkerhed tjekkes regelmæssigt. 

Eksterne trusler er en åbenlys grund til at styrke MySQL-sikkerheden, men de interne trusler såsom nuværende eller tidligere medarbejdere er ofte farligere, da de er (eller var) betroede i en eller anden grad.

Sikkerheden er også vigtig i forhold til overholdelse af regler og love om privatlivets fred, forhindring af utilsigtet adgang (for eksempel ved utilsigtet at logge ind på produktionsserveren i stedet for på udviklingsserveren) og i forhold til, hvis tredjepartsprogrammer skal interagere med dine systemer. 

Er man ude efter at forbedre sikkerheden i sin udrulning er oak-security-audit bestemt værd at stifte bekendtskab med. Det er et gratis, open source og udfører grundlæggende evaluering af sikkerheden ved MySQL.

Det kræver ingen opsætning, man kører det bare imod sine MySQL-servere og så genererer det en rapport med risici og anbefalinger angående konti, kontoprivilegier, kodeord og nogle generelle råd om best practices såsom spærring af netværksadgang. Her er et udklip af en sådan rapport: 

-- Looking for anonymous user accounts 
-- ----------------------------------- 
-- Passed 
-- 
-- Looking for accounts accessible from any host 
-- --------------------------------------------- 
-- Found 1 accounts accessible from any host. Recommended actions: 
RENAME USER 'msandbox'@'%' TO 'msandbox'@''; 

Oak-security-audit fokuserer skarpt på MySQL-sikkerheden, så det kan ikke erstatte en komplet evaluering af systemets sikkerhed udført af et menneske, men det er en fremragende første skanse i forsvaret og det er let at bruge. Man kan eksempelvis køre det ugentligt som et cron-job og få rapporten tilsendt via e-mail. 

Download:http://openarkkit.googlecode.com/svn/trunk/openarkkit/src/oak/oak-security-audit.py 
Vedligeholdes af: Shlomi Noach 
Mere information: 
http://openarkkit.googlecode.com/svn/trunk/openarkkit/doc/html/oak-security-audit.html

Oversat af Thomas Bøndergaard.

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

Her er de MySQL-værktøjer, du har brug for (del 2)




Brancheguiden
Brancheguide logo
Opdateres dagligt:
Den største og
mest komplette
oversigt
over danske
it-virksomheder
Hvad kan de? Hvor store er de? Hvor bor de?
Jobindex Media A/S
Salg af telemarketing og research for it-branchen, it-kurser og konferencer

Nøgletal og mere info om virksomheden
Skal din virksomhed med i Guiden? Klik her

Kommende events
OT og IT: Modernisér produktionen og byg sikker bro efter et årelangt teknologisk efterslæb

Moderne produkter skal have mere end strøm for at fungere – og deres navlestreng skal ikke klippes når de forlader fabrikshallen. På denne konference kan du derfor lære mere om hvordan du får etableret det sikre setup når der går IT i OT.

30. april 2024 | Læs mere


Roundtable for sikkerhedsansvarlige: Hvordan opnår man en robust sikkerhedsposition?

For mange virksomheder har Zero Trust og dets principper transformeret traditionelle tilgange til netværkssikkerhed, hvilket har gjort det muligt for organisationer at opnå hidtil usete niveauer af detaljeret kontrol over deres brugere, enheder og netværk - men hvordan implementerer man bedst Zero Trust-arkitekturer i et enterprise set up? Og hvordan muliggør Zero Trust-arkitekturen, at organisationer opnår produktivitetsfordele med AI-værktøjer samtidig med, at de forbliver sikre i lyset af fremvoksende trusler?

01. maj 2024 | Læs mere


ERP-trends 2024

Bliv derfor inspireret til, hvordan du kan optimere dine systemer og processer når af nogle af de fremmeste eksperter på ERP-markedet dele deres iagttagelser af det aktuelle marked og vurderinger af, hvad vi har i vente de kommende 3-5 år. Vi sætter også fokus på, hvordan udviklingen kommer til at påvirke din organisation, hvordan du bedst forbereder og planlægger ERP-indsatsen og om, hvilke faldgruber du skal være opmærksom på.

02. maj 2024 | Læs mere