Select Page

Maatkit – die Toolbox für MySQL Server

by | Jul 13, 2009 | MySQL

maatkitEin Kollege hat mich vor kurzem auf Maatkit aufmerksam gemacht, eine Sammlung von Tools die laut dem Ersteller (Baron Schwartz) das Leben bzw. Arbeiten mit MySQL deutlich einfacher und sicherer machen.
Maatkit enthält viele nützliche Werkzeuge sowohl für single instance Installationen als auch komplexere Replikationsszenarien, so gibt es z.B. mk-heartbeat welches die Replikation überwacht. Hierbei wird auf dem Master ein kontiunierliches UPDATE mit dem aktuellen Timestamp auf einen Eintrag ausgeführt, ein zweiter mk-heartbeat Prozess überwacht auf den Slaves den Replication lag. Die Überwachung beruht also nicht auf dem MySQL internen ‘SHOW SLAVE STATUS;‘ Kommando.
Folgende Kommandos erzielen das gewünschte Ergebnis:

  • Master

[code lang=”shell”]# mk-heartbeat -D test –table maatkit –update[/code]

  • Slave

[code lang=”shell”]# mk-heartbeat -h <slave-host> -D test –table maatkit –monitor
3s [ 0.08s, 0.02s, 0.01s ]
4s [ 0.15s, 0.03s, 0.01s ]
5s [ 0.23s, 0.05s, 0.02s ]
6s [ 0.33s, 0.07s, 0.02s ][/code]
Ein weiteres mitgeliefertes Programm ist mk-parallel-dump, eine deutlich performantere Alternative zu mysqldump. Wie der Name schon andeutet ermöglicht es dem Benutzer das Sichern einer Datenbank mit mehreren Tabellen in parallel, mit mysqldump werden die Tabellen sequentiell nacheinander gesichert. Zusätzlich erlaubt es “Backup Sets” zu erstellen um logisch zusammenhängende Tabellen (auch Datenbankübergreifen und mit Prioritäten versehen) gleichzeitig zu sichern.

mk-parallel-dump –base-dir /var/tmp –password t3fzpcay
default:            397 tables,   397 chunks,   397 successes,  0 failures,  22.79 wall-clock time,  33.41 dump time

[code lang=”shell”]# mk-parallel-dump –base-dir /var/tmp[/code]
[code lang=”shell”]default:  397 tables, 397 chunks, 397 successes, 0 failures, 22.79 wall-clock time, 33.41 dump time[/code]
Ein Tool zum Restore der erstellten Backups ist selbstverständlich ebenfalls enthalten: mk-parallel-restore.
Zusätzlich zu den hier genannten gibt es noch Tools um MySQL Query EXPLAINs übersichtlicher darzustellen, Table Checksummen zu errechnen, Tabellen nach Filtern zu Archivieren und noch vieles mehr. Ein Blick auf die Webseite des Projektes loht in jedem Fall.
Als Fazit lässt sich festhalten das Maatkit die Arbeit mit MySQL deutlich vereinfacht. Jeder der täglich mit MySQL zu tun hat wird dieses Toolkit kennen und lieben lernen, es vereint viele  nützliche Funktionen in einem und ist obendrein bei einigen Distributionen enthalten.

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

More posts on the topic MySQL

Alle User in MySQL anzeigen

Oftmals wachsen Datenbankinstallationen im Laufe der Zeit und man legt immer wieder für neue Projekte neue Datenbanknutzer an. Um hier den Überblick zu behalten, zeige ich kurz, wie man sich die jeweiligen Nutzer anzeigen lassen kann. Voraussetzungen: Command...

Monitor das Monitoring_by_ssh

Hellow, heute möchte ich euch zeigen, wie man schnell und einfach mit Icinga 2 seine bestehende Icinga 2 Infrastruktur monitoren kann. Jeder der sich damit schon mal befasst hat, wird schnell zu dem Ergebnis kommen: "Hey warte mal den Master kann ich ja nicht auf den...

rsync und was dann?

Diese Woche hatte ich die zweifelhafte Ehre die mit 1,6TB schon etwas größere MySQL-Datenbank (MariaDB) eines Kunden auf den zweiten Datenbankknoten zu spielen. Dabei war die Herausforderung das die ganze Show außerhalb der Geschäftszeiten von 17:30 Uhr bis max. 5:00...