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.

Bernd Erk im Linux Magazin Sonderheft 03/2008

Ein weiteres Mal hat unser umtriebiger Head of Operations seiner schriftstellerischen Ader freien Lauf gelassen und zum neuesten Linux Magazin Sonderheft mit dem Titel “Bausteine fürs Web von Morgen” einen Artikel beigesteuert.
In seinem Beitrag beschäftigt er sich mit den vielfältigen Einsatzmöglichkeiten, die ein MySQL-Proxy entfalten kann, wenn er mit dem notwendigen Know How verwendet wird. So ist der langläufig nur als Vermittler zwischen Datenbank-Client und -Server genutzte MySQL-Proxy mit dem nortwendigen Wissen ohne weiteres in der Lage, eingehende Datenbankabfragen und deren Ergebnisse zu überwachen, zu analysieren und zu verändern.
Bernd beschreibt ausführlich welcher Konfigurationen es bedarf, um den Datenverkehr zu modifizieren und den jeweiligen Bedürfnissen entsprechend zu manipulieren. Umgesetzt wird das Ganze über die integrierte Lua-Engine, durch welche eine nahezu uneingeschränkte Anpassung der Datenbankabfragen und deren Ergebnisse ermöglicht wird.
Wie das alles ganau vor sich geht erfährt der geneigte Leser durch die Lektüre des Linux Magazins Sonderheftes 03/2008 ab Seite 22.

Pamela Drescher
Pamela Drescher
Head of Marketing

Pamela hat im Dezember 2015 das Marketing bei NETWAYS übernommen. Sie ist für die Corporate Identity unserer Veranstaltungen sowie von NETWAYS insgesamt verantwortlich. Die enge Zusammenarbeit mit Events ergibt sich aus dem Umstand heraus, dass sie vor ein paar Jahren mit Markus zusammen die Eventsabteilung geleitet hat und diese äußerst vorzügliche Zusammenarbeit nun auch die Bereiche Events und Marketing noch enger verknüpft. Privat ist sie Anführerin einer vier Mitglieder starken Katzenhorde, was ihr den absolut...

Technical Review Artikel: MySQL-Tuning

NETWAYS ist auch diesmal mit einem Artikel in der Technical Review des Linux Magazins (Ausgabe August 2008) vertreten.
Die achte Ausgabe der Technical Review widmet sich dem Thema “Performance und Tuning – Resourcen optimal planen und nutzen”. Für diese Ausgabe hat Bernd Erk in der Rubrik “Application Tuning” einen Beitrag zum Thema “MySQL-Tuning” verfasst.
In seinem Artikel zeigt er die professionelle Herangehensweise zur Verbesserung der Performance von MySQL-Datenbanken.
Er beschreibt den Weg, wie aus dem vielschichtigen Geflecht von Wechselwirkungen, die das komplexe System einer Datenbank mit all ihren Hard- und Softwarekomponenten ausmachen, ein hocheffizientes, funktional bestens an die jeweiligen Nutzerbedürfnisse angepasstes Datenbanksystem entstehen kann.
In seinem Artikel geht er auf die fünf möglichen Optimierungsstellen zum Datenbanktuning ein: Hardware, Datenbankarchitektur, Betriebssystemkonfiguration, Parametrisierung, sowie Design und Verwendung des Datenbankschemas. Dabei klärt er insbesondere die Abhängigkeit der Datenorganisation vom Einsatzzweck, erklärt welche Tabellenformen MySQL bereit kennt und geht hierbei auf die verschiedene Möglichkeiten der – für die jeweilige Anwendung – richtigen Architektur ein und stellt die Voraussetzungen einer Effizienzsteigerung für die Tuning-Praxis dar.
Neben der Vorstellung einiger MySQL Benchmark-Tools und deren Einsatzzweck und -zielgruppe, sowie dem richtigen Vorgehen, werden auch die notwendigen Einstellungen zur Entdeckung versteckter Probleme aufgezeigt und die Optimierung spezieller MySQL-Einstellungen veranschaulicht.
Daneben werden die richtigen Handgriffe im Hinblick auf die besondere Schwierigkeit Ausreißer, also problematische Datenbankabfragen, aufzuspüren und diese Problemsuche selbst wiederum zu optimieren, an die Hand gegeben, wie auch die Verbesserung der Effizienz der Indizes und der Tabellen-Partitionierung zur Leistungssteigerung beschrieben.
Jedem interessierten DB-Administratoren und Softwareentwickler steht damit ein Leitfaden eines professionellen, strukturierten und systematischen Prozesses zum Tuning seiner MySQL-Datenbanken zur Verfügung.

Pamela Drescher
Pamela Drescher
Head of Marketing

Pamela hat im Dezember 2015 das Marketing bei NETWAYS übernommen. Sie ist für die Corporate Identity unserer Veranstaltungen sowie von NETWAYS insgesamt verantwortlich. Die enge Zusammenarbeit mit Events ergibt sich aus dem Umstand heraus, dass sie vor ein paar Jahren mit Markus zusammen die Eventsabteilung geleitet hat und diese äußerst vorzügliche Zusammenarbeit nun auch die Bereiche Events und Marketing noch enger verknüpft. Privat ist sie Anführerin einer vier Mitglieder starken Katzenhorde, was ihr den absolut...

DB2 Datenbank Cluster bei der PUMA AG

pumaFür die ausfallsichere Gestaltung einer DB2 Anwendung bei der Puma AG in Herzogenaurach wurde von NETWAYS eine Clusterlösung realisiert, die auf der Open Source Software “Heartbeat” basiert. Ein regulärer Betrieb auch bei Ausfall eines Servers z.B. durch Updates kann so gewährleistet werden.
Unter anderem im eigenen Rechenzentrum konnte NETWAYS schon sehr positive Erfahrungen bei Firewalls und Loadbalancing mit diesem Tool sammeln und das umfangreiche Wissen bei Puma in einem mehrtägigen Workshop auch für die IBM Datenbank einsetzen.

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.