MySQL Cheat-Sheet

Da ich euch nicht mit Dingen wie SELECT, INSERT oder UPDATE nerven möchte, aber es auch immer wieder Dinge gibt die ich regelmäßig nachschlagen muss, hier mein persönliches MySQL-Cheat-Sheet in der Hoffnung das es euch auch helfen möge 😉
Mitschneiden der MySQL-Session, z. B. für Doku’s:
[user@host ~]$ mysql -u root -p --tee=/tmp/what_i_have_done.log
Logging to file '/tmp/what_i_have_done.log'
Enter password:

Anzeigen aller DB’s mit der jeweiligen Größe in MB:
SELECT table_schema "Data Base Name",
sum( data_length + index_length ) / 1024 /
1024 "Data Base Size in MB",
sum( data_free )/ 1024 / 1024 "Free Space in MB"
FROM information_schema.TABLES
GROUP BY table_schema ;

Auflisten aller Benutzer und deren Datenbankberechtigungen:
SELECT grantee, table_schema, privilege_type FROM information_schema.schema_privileges;

Klonen von Tablellen (keys und index werden nicht automatisch übernommen!):
CREATE TABLE AS SELECT * FROM ;

Erstellen / Wiederherstellen einer Replikation:
STOP SLAVE;
RESET SLAVE;
CHANGE MASTER TO MASTER_HOST='myotherdbms', MASTER_USER='replication_user', MASTER_PASSWORD='nsa_will_never_guess', MASTER_LOG_FILE='mysql-bin.00000', MASTER_LOG_POS=414138;
START SLAVE;

Bei Fehlern in der Replikation auch gerne gesehen… Ignoriere eine Anzahl N an Fehlern:
SET GLOBAL sql_slave_skip_counter = N;

Sollte ich noch mehr coole Sachen finden, werde ich diese Liste selbstverständlich erweitern 🙂

Tobias Redel
Tobias Redel
Head of Professional Services

Tobias hat nach seiner Ausbildung als Fachinformatiker bei der Deutschen Telekom bei T-Systems gearbeitet. Seit August 2008 ist er bei NETWAYS, wo er in der Consulting-Truppe unsere Kunden in Sachen Open Source, Monitoring und Systems Management unterstützt. Insgeheim führt er jedoch ein Doppelleben als Travel-Hacker, arbeitet an seiner dritten Millionen Euro (aus den ersten beiden ist nix geworden) und versucht die Weltherrschaft an sich zu reißen.

MSSQL Überwachung

In heterogenen IT-Umgebungen kann man auf vieles treffen. Heute geht es um die Überwachung von MSSQL. Hier gibt es verschiedene Kanäle die man nutzen kann.
Zum einen ist da das Betriebssystem, das einem in Eventlog und WMI viele Infos bereitstellt. Hierzu benötigt man z.B. den NSClient, zu dem es in diesem Blog eine komplette Serie gibt. Über diesen kommt man an beides ran.
Des weiteren gibt es von Gerhard Lauser das Plugin check_mssql_health mit Hilfe dessen man z.B. an Werte wie connection-time, connected-users, lock-waits oder deadlocks bekommt. Informationen und eine genaue Anleitung gibt’s hier.
Was man allerdings über diese Mittel nicht überwachen kann sind die konkreten Jobs die auf dem DBMS laufen.
Hierzu bietet MSSQL eine stored Procedure name sp_help_job. Um diese benutzen zu können und die Jobs aller User zu sehen muss der Monitoring User die Rolle  SQLAgentReaderRole oder SQLAgentOperatorRole einnehmen.
Ruft man sp_help_job ohne alles auf, bekommt man eine Tabelle alles eingerichteten Jobs. Die sollte man prinzipiell mit ‘@enabled = 1’ einschränken um nur aktive Jobs zu bekommen.
Reichen einem diese Informationen noch nicht, sollte man noch einen Blick auf die TARGETS Tabelle werfen. Hier befinden sich Informationen zu dem letzten Lauf wie die last_run_duration, last_run_outcome oder last_run_date. Aber Obacht: Die Formatierung des Datums und der Zeit ist sehr gewöhnungsbedürftig. Die Zahl 113300 bedeutet z.B. 11:33 Uhr. Führende Nullen werden weggelassen.
Der Aufruf in Transact SQL lautet: sp_help_job @job_name = ‘<jobname>’, @job_aspect = ‘TARGETS’
Möchte man das ganze jetzt automatisieren stehen einem auch wieder mehrere Wege offen. Hat man Perl in sein NSClient integriert kann man dieses benutzen. Dank DBD:Sybase kann man einfach auf alle Daten von MSSQL zugreifen.
Denkbar wäre aber auch ein Powershellscript oder eine beliebige andere Sprache die auf Windows ausführbar ist.

Christoph Niemann
Christoph Niemann
Senior Consultant

Christoph hat bei uns im Bereich Managed Service begonnen und sich dort intensiv mit dem internen Monitoring auseinandergesetzt. Seit 2011 ist er nun im Consulting aktiv und unterstützt unsere Kunden vor Ort bei größeren Monitoring-Projekten und PERL-Developer-Hells.

Gesunde Datenbanküberwachung mit Nagios

Gesundheit Nordhessen Logo
In vielen öffentlichen Einrichtungen wird die kostengünstige Monitoring Lösung Nagios geschätzt. So auch bei unserem Kunden der Gesundheit Nordhessen Holding AG. Besonders positiv fällt immer wieder die Möglichkeit ins Gewicht eigene Erweiterungen oder Anpassungen vorzunehmen und so auch auf spezielle Anforderungen einzugehen. In diesem Fall ging es besonders um einige Eigenheiten bei der Überwachung von verschiedenen Datenbanksystemen (MySQL, Oracle und MSSQL).
Wir haben in Kassel schon im letzten Jahr geholfen, und möchten uns hier noch ein mal für die gute Zusammenarbeit bedanken.

Live von der OSDC: BI und Warehousing mit Jaspersoft

cahillUm 15.00 Uhr ging der Vortrag von Tom Cahill, Senior Director EMEA von Jaspersoft, zu Ende. Das Lösungsportfolio von Jaspersoft ist die meist verbreitetste Open Source Business Intelligence Lösung weltweit und derzeit in 69 Sprachen verfügbar.
Schwerpunkt des Vortrags war der Einsatz von JasperETL, JasperReports und JasperAnalyses zur zentralen Verarbeitung von Unternehmensdaten unter Verwendung der angesprochenen Toolplattform. Im Rahmen von SLA-Reporting und individuellen Anforderungen unserer Kunden beschäftigen wir uns schon seit einigen Jahren mit JasperReports und haben auch zur Nagioskonferenz 2008 einen Vortrag zu diesem Thema vorgestellt, der auf großes Interesse gestoßen ist.
Fakt ist, dass sich heutige Open Source Lösungen nicht hinter kommerziellen Lösungen von Oracle, Terradata oder Cognos verstecken müssen und dem Kunden hohe Flexibilität bietet.
Erfreulich ist auch, dass die aktuellen Adhoc-Reporting Funktionalitäten und webbased Portlets bald Einzug in die Open Source Edition halten werden.

Bernd Erk
Bernd Erk
CEO

Bernd ist Geschäftsführer der NETWAYS Gruppe und verantwortet die Strategie und das Tagesgeschäft. Bei NETWAYS kümmert er sich eigentlich um alles, was andere nicht machen wollen oder können (meistens eher wollen). Darüber hinaus startet er das wöchentliche Lexware-Backup und investiert seine ganze Energie in den Rest der Truppe und versucht für kollektives Glück zu sorgen. In seiner Freizeit macht er mit sinnlosen Ideen seine Frau verrückt und verbündet sich dafür mit seinem Sohn.

Blogvorstellung: MySQL Performance Blog

Man kann es fast nicht glauben, aber im MySQL Performance Blog geht es tatsächlich um MySQL und wie man dessen Performance steigert, höchstens ganz am Rande noch ein bisschen um PHP. Geschrieben wird das Blog von den Mitarbeitern der Firma Percona Inc., in der sich einige MySQL Experten und ehemalige MySQL Mitarbeiter tummeln und hauptsächlich MySQL Consulting anbieten. Die Artikel sind zum überwiegenden Teil technischer Natur und bieten einen sehr hohen Anteil an wirklich interessantem Wissen. Dazwischen gibt es Hinweise auf anstehende Konferenzen oder wo demnächst Vorträge gehalten werden. Beispielsweise ging es in letzter Zeit um einen Performancevergleich zwischen MySQL Replikation und DRBD, ob man Swap auf Datenbankservern besser deaktivierten sollte oder wie man am besten die MySQL Logs rotiert.
Die Kollegen posten alle 1 oder 2 Tage einen neuen Blogeintrag. Klar ist nicht jedes Posting für jeden Leser gleich interessant, aber in dem Bereich hohe Performance und große Installationen kenne ich keine anderen Blog der so viele Infos liefert. Egal ob man einen einzelnen DB Server noch weiter tunen oder die Replikation zwischen Master und 20 Slaves in den Griff kriegen will. Deswegen ist das MySQL Performance Blog ein absolutes Muss für jeden Feedreader.

Julian Hein
Julian Hein
Executive Chairman

Julian ist Gründer und Eigentümer der NETWAYS Gruppe und kümmert sich um die strategische Ausrichtung des Unternehmens. Neben seinem technischen und betriebswirtschaftlichen Background ist Julian häufig auch kreativer Kopf und Namensgeber, beispielsweise auch für Icinga. Darüber hinaus ist er als CPO (Chief Plugin Officer) auch für die konzernweite Pluginstrategie verantwortlich und stösst regelmässig auf technische Herausforderungen, die sonst noch kein Mensch zuvor gesehen hat.