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.