Stefan Pröll – mysqladmin.at https://mysqladmin.at Der MySQL-Administratoren Blog Fri, 27 May 2016 06:23:26 +0000 de-DE hourly 1 https://wordpress.org/?v=5.1.3 Die dritte Auflage 2015: MySQL – Das umfassende Handbuch https://mysqladmin.at/2015/06/27/die-dritte-auflage-2015-mysql-das-umfassende-handbuch/ https://mysqladmin.at/2015/06/27/die-dritte-auflage-2015-mysql-das-umfassende-handbuch/#respond Sat, 27 Jun 2015 15:40:13 +0000 https://mysqladmin.at/?p=484 Weiterlesen ]]> Die dritte Auflage 2015: MySQL – Das umfassende Handbuch

Nachdem wir im Dezember 2014 erfahren hatten, dass sich die Bestände der zweiten Auflage zu Ende neigen, ging es für uns Autoren an die Planung der dritten, aktualisierten Auflage des MySQL Buchs. Diese Auflage ist bereits unter dem neuen Verlagsnamen Rheinwerk Verlag am 25.05.2015 erscheinen.

Released or not Released: Eine Versionsgeschichte

Da MySQL kontinuierlich weiterentwickelt wird, stellt sich für uns immer die Frage, auf welche Version der beliebten Datenbankensoftware wir uns für das Schreiben festlegen sollen. Natürlich möchten wir so aktuell wie möglich sein, um die neuesten Features berücksichtigen zu können. Da es jedoch durchaus einige Jahre dauern kann, bis eine Developer-Version Produktivstatus erreicht und damit in die meisten Software-Repositories verfügbar wird, muss allerdings die Testversion schon soweit ausgereift sein, dass möglichst keine inkompatiblen Änderungen mehr eingeführt werden. Aus diesem Grund gibt es eben mehrere Faktoren, die wir bei der Auswahl einer Version für das Buch berücksichtigen müssen.

Um unsere Entscheidungen zu untermauern, betrachten wir die Release-Zyklen in den Release Notes auf der Webseite des Produkts. Die Entwicklung des neuen MySQL 5.7er Branches wurde von Oracle bereits im Frühjahr 2013 gestartet. Gleichzeitig wurde auch noch an der auch heute (Ende Juni 2015) noch offiziellen Version von MySQL 5.6 weiter entwickelt. Abgeleitet von der bisherigen Dauer eines GA-Releases, haben wir uns dann zuerst auf die Development-Version MySQL 5.7.5 Milestone 15 festgelegt. In einem nächsten Schritt, haben wir uns durch hunderte Seiten Release Notes gewühlt, um die gravierenden Änderungen und interessantesten neuen Features herauszuarbeiten.

Quelle: MySQL Artikel der englischsprachigen Wikipedia

Quelle: Wikipedia

Diese Aktualisierungen haben wir folge dessen in die Neuauflage des Buches eingearbeitet. Zwar waren die Änderungen dieses mal nicht so radikal wie von MySQL 5.5 auf 5.6 in der vergangenen Auflage. Dennoch gibt es einige Neuerungen, die eine starke Überarbeitung bestimmter Kapitel der dritten Auflage nötig gemacht haben. Selbstverständlich sind wir auch auf die vielen Anregungen, Ratschläge und auch Tipps eingegangen, die wir von aufmerksamen Lesern und Rezensenten erhalten haben. Wir möchten uns hier nochmal ausdrücklich bei allen Helfern bedanken, die dazu beitragen, dass unser Buch noch besser wird. Da das mitgelieferte Datenset ein sehr wichtiger Bestandteil des Buches ist, haben wir natürlich den gesamten Datenbestand neu erzeugt, die Konsistenzen überprüft und die Daten aktualisiert. Somit ist nicht nur die dritte Auflage stark überarbeitet, sondern auch das Datenset zum Testen erstrahlt in neuem Glanz.

In letzter Minute

Noch während des Schreibens kam das Milestone 16 Release MySQL 5.7.6 heraus, woraufhin wir alle neu eingeführten Änderungen erneut in das bestehende Manuskript eingearbeitet haben. Irgendwann ist jedoch Schluss und wir konnten nicht mehr länger mit Versionen spekulieren, um den Drucktermin nicht zu verpassen. Die MySQL Version 5.7.7 hat im April dann Release Candidate Status erreicht, was darauf hindeutet, dass keine gravierenden Änderungen mehr vor der GA-Version zu erwarten sind. Ich denke, dass wir das Timing trotzdem gut hinbekommen haben und somit ein sehr aktuelles Buch anbieten können.

Das Handwerk

Wir wurden schon öfter gefragt, wie denn eigentlich ein ganzes Buch entsteht. Entgegen manch einer Vermutungen arbeiten wir nicht mit Latex, sondern mit einer speziellen Formatvorlage, die uns der Verlag als Microsoft Word Plugin zur Verfügung stellt. Entgegen vieler Vorbehalte funktioniert das auch bei größeren Projekten, wie dem mehr als 800 Seiten starken Buch, sehr gut. Alle textuellen Inhalte, wie beispielsweise Kommandozeilenbefehle, Code-Snippets oder SQL-Beispiele werden von Hand mit den entsprechenden Format der Textvorlage formatiert und so gekennzeichnet. Grafiken und Screenshots gestalten wir selbst, die Referenzen von Textbausteinen, Bildern, Listings und weiteren Elementen werden ebenfalls manuell von uns gesetzt. Der Verlag fügt dann aus den einzelnen Kapiteln das gesamte Werk zusammen, hübscht die Grafiken auf und gibt dem ganzen einen einheitlichen Schliff. Natürlich werden die Texte auch lektoriert und durchlaufen ein mehrstufiges Fachgutachten.

Intern lesen wir alle unsere Kapitel mehrmals gegenseitig gegen und kommentieren die Änderungsvorschläge mit den üblichen Bordwerkzeugen von Word. Die Dateien selbst, die Bilder und Code-Beispiele versionieren wir ganz klassisch mit Subversion. Da wir alle Linux User sind, laufen sowohl die Windows-Maschine zum Schreiben, als auch mehrere Debian- und Ubuntu-Maschinen virtualisiert in VirtualBox. Somit haben wir eine sehr flexible Testumgebung, auch für die Szenarien, die mehrere Rechner benötigen, wie beispielsweise die Replikation. Das eingesetzte Datenbankenmanagementsystem ist logischerweise die MySQL Community Edition, meistens parallel in verschiedenen Versionen. Zum editieren und Testen der SQL Skripte verwenden wir natürlich auch die Workbench. Für das Erzeugen des Datensets verwenden wir Stored Procedures und PHP Skripte.

Da wir geografisch für österreichische Verhältnisse weit entfernt voneinander arbeiten, kommunizieren wir hauptsächlich über Email und haben regelmäßige Skype Konferenzen. Für die interne Dokumentation verwenden wir eine WikkaWiki Instanz.

Danke!

Wir freuen uns auch bei der dritten Auflage über umfangreiches Feedback und hoffen, dass wir viele neue Leser erreichen und für MySQL und seine Vielseitigkeit begeistern können! Sie erhalten das Buch im gut sortierten Buchhandel, direkt beim Rheinwerk Verlag (versandkostenfrei) und natürlich auch bei den Großen.

]]>
https://mysqladmin.at/2015/06/27/die-dritte-auflage-2015-mysql-das-umfassende-handbuch/feed/ 0
Virtuelle Maschinen – Die perfekte Testumgebung https://mysqladmin.at/2014/01/24/virtuelle-maschinen-die-perfekte-testumgebung/ https://mysqladmin.at/2014/01/24/virtuelle-maschinen-die-perfekte-testumgebung/#comments Fri, 24 Jan 2014 17:14:10 +0000 https://mysqladmin.at/?p=409 Weiterlesen ]]> Wer sich richtig mit MySQL auseinandersetzen möchte muss natürlich alles ausprobieren, an jeder Schraube drehen und jede Detaileinstellung testen. Da intensive Tests nicht an einem Produktivsystem durchgeführt werden sollten, bietet es sich an auf eine virtuelle Umgebung auszuweichen, die vom eigentlichen System abgekapselt ist. Eine solche Testumgebung lässt sich sehr leicht mit der kostenlosen Software VirtualBox realisieren, die in diesem Beitrag vorgestellt wird.

Die Virtualisierung von Betriebssystemen ist schon lange ein sehr populäres Thema und erfreut sich großer Beliebtheit im Serverbereich. Diese Technologie erlaubt es teure Serverhardware ressourcensparender zu nutzen, indem mehrere Gastsysteme virtualisiert auf einem realen Serversystem gleichzeitig laufen. Die reale Hardware (ein großer Server oder auch ein kleiner Laptop) wird als Host- oder Gastgebersystem bezeichnet. Die virtuelle Maschine (ein virtualisiertes Betriebssystem) wird Guest- bzw. Gastsystem genannt.  Die Virtualisierungssoftware wird auf dem Host installiert und gaukelt den Gastbetriebssystemen die notwendige Hardware wie CPU, RAM und Festplattenkapazitäten vor. Das Gastbetriebssystem selbst bemerkt nicht, dass es nur auf rein virtuelle Hardware zugreifen kann. Die Gastsysteme sind voneinander unabhängig, wodurch in vielen Fällen auch die Sicherheit erhöht werden kann. Durch die Virtualisierungssoftware kann genau geregelt werden, welche Ressourcen den Gastsystemen zur Verfügung stehen. Dadurch können Sie ein eigenes Testsystem installieren, in dem Sie sich nach Belieben austoben können. Ihr Hostsystem wird dabei nicht verändert und auch dort bereits installierte MySQL-Server bleiben unbehelligt.

Schematische Darstellung der Virtualisierungsschichten

Schematische Darstellung der Virtualisierungsschichten

In der folgenden Anleitung dient ein Laptop mit Windows 7 als sogenannter Host in dem die virtuelle Maschine ausgeführt werden soll. Als virtuelle Maschine selbst  wird Debian installiert, da in unserem Buch auf diese Linux-Distribution am detailliertesten eingegangen wird. Die Anleitung lässt sich ohne viele Änderungen auch auf einen Linux Host übertragen. Ebenso können Sie jede beliebige Betriebssystemvariante als Gastsystem sowohl unter einem Windows Host als auch unter einem Linux Host einrichten. Sie finden zu jedem der nun folgenden Schritte Screenshots, bitten scollen Sie nach Bedarf einfach runter!

Bevor es losgeht…

Sie benötigen folgende Softwarekomponenten:

  • Host Betriebssystem (in diesem Beispiel Windows 7)
  • VirtualBox, passend für Ihren Host (kostenloser Download)
  • Linux Abbild (ISO, beispielsweise Debian als ebenfalls kostenloser Download)
  • Putty (ein SSH Client für Windows, kostenloser Download)

VirtualBox installieren

Die folgende Bildergalerie beschreibt wie Sie VirtualBox installieren und darin das Debian Betriebssystem einrichten können. Folgende Schritte sind dabei notwendig:

  1. Laden Sie VirtualBox, Putty und Debian herunter
  2. Starten Sie die Installation und folgen Sie den Anweisungen
  3. Legen Sie eine neue Virtuelle Maschine an
    1. Legen Sie den Namen der Maschine fest
    2. Wählen Sie als Typ Linux
    3. und bei der Version Debian in der passenden Systemarchitektur (32- oder 64 Bit)
  4. Wählen Sie die Größe des Hauptspeichers
    1. Sie sollten nie mehr als die Hälfte des am Host verfügbaren RAMs wählen
    2. Sie können diesen Wert später jederzeit anpassen, beginnen Sie mit 512 MB RAM
  5. Erzeugen Sie eine neue Festlatte mit beispielsweise 8GB Speicherplatz
    1. Verwenden Sie als Typ VDI
    2. Setzen Sie dynamische alloziierten Speicherplatz ein, so sparen Sie Platz auf der Host Festplatte
    3. Vergeben Sie einen Dateinamen in dem die Virtuelle Platte gespeichert werden soll
  6. Die neue virtuelle Maschine ist angelegt, jetzt müssen Sie noch das eigentliche Betriebssystem installieren.
  7. Klicken Sie auf Ändern und wählen Sie Massenspeicher
    1. Hier können Sie für die virtuelle Maschine ein CD-Laufwerk anlegen
    2. In dieses Laufwerk legen Sie – natürlich ebenfalls nur virtuell – das zuvor heruntergeladene Debian image.
    3. Klicken Sie dazu auf das kleine CD-Symbol mit dem Plus neben dem IDE-Controler
    4. Und wählen danach die ISO-Datei aus.
    5. Bestätigen Sie mit OK.
  8. Starten Sie die virtuelle Maschine
    1. Der Startbildschirm von Debian erscheint.
    2. Anleitungen gibt es hier oder hier.
    3. Installieren Sie das Betriebssystem mit den Standardeinstellungen
    4. Sie benötigen keine Desktopumgebung, das spart Speicher und Ressourcen
    5. Wählen Sie den SSH Server und die Standardtools
    6. Nachdem Sie die Installation erfolgreich abgeschlossen haben haben, können Sie die virtuelle CD wieder aus dem System entfernen.
    1. Schalten Sie die VM aus.
  9. Damit ihre Debian VM auf das Internet zugreifen kann, müssen Sie die Netzwerkeinstellungen anpassen.
    1. Wählen Sie dazu wieder Ändern und öffnen das Menü Netzwerk
    2. Dort setzen Sie im Reiter Adapter 1 den Wert von Angeschlossen an von NAT auf Netzwerkbrücke.
    3. Dadurch kann der Gast auf der Netzwerk des Hosts zugreifen und somit auch eine eigene Internetverbindung aufbauen.
    4. Sie benötigen diese Internerverbindung um Pakete zu installieren und das System aktuell zu halten
  10. Starten Sie nun erneut die virtuelle Maschine.
    1. Melden Sie sich als root mit dem während der Installation angegebenen Passwort an
    2. Zeigen Sie die aktuelle Netzwerkadresse des Adapters 1 (eth0) an: ifconfig
    3. Notieren Sie sich die IP Adresse.
  11. Installieren Sie unter Windows die Software Putty SSH
    1. Mit diesem Tool können Sie sich mit der VM verbinden, indem Sie die notierte IP-Adresse sowie die Benutzerkennung root und das von Ihnen gewählte Passwort angeben.
    2. Putty ist komfortabler als die Eingabemaske der Virtualbox Software
    3. Loggen Sie sich erneut als root ein
  12. Installieren Sie MySQL
    1. Entweder Sie folgen der detaillierten Anleitung aus dem Buch oder
    2. Sie können MySQL ganz einfach mit dem integrierten apt Tool von Debian installieren. Da Debian standardmäßig versucht, die zu installierenden Pakete von einer CD zu laden, müssen Sie dieses Verhalten noch kurz unterbinden. Öffnen Sie dazu die apt Quellendatei sources.list mit einem Texteditor und kommentieren Sie die Zeile beginnend mit „cd rom“ aus, indem Sie eine Raute (#) voranstellen.
    3. Beispielsweise mit nano [bash]nano /etc/apt/sources.list[/bash]
    4. Speichern und schließen Sie die Datei.
    5. Installieren Sie MySQL mit [bash]apt-get install mysql-server[/bash]
    6. Beachten Sie, dass in den Debian-Quellen nur die Version MySQL 5.5 verfügbar ist! Details dazu stehen im Buch 🙂
  13. Passen Sie die Installation an
    1. Aus Sicherheitsgründen können Sie nur von dem Rechner aus auf den MySQL-Server zugreifen, auf dem er auch installiert ist.
    2. Da der Host jedoch ebenfalls auf den MySQL-Server zugreifen können soll, müssen Sie eine Einstellung in der Datei /etc/mysql/my.cnf ändern.
    3. Öffnen Sie diese Datei wieder mit nano [bash]nano /etc/mysql/my.cnf[/bash] und kommentieren Sie folgende Zeile mit einem # ein.  [bash]# bind_address 127.0.0.1[/bash]
    4. Starten Sie den MySQL-Server neu: [bash]service mysql restart[/bash]
    5. Dadurch kann jeder Rechner auf die MySQL-Installation zugreifen
    6. Auf einem Produktivsystem ist eine solche Einstellung nicht empfehlenswert!
    7. Ebenfalls aus Sicherheitsgründen ist der Zugriff des root Users ebenfalls auf den lokalen Rechner beschränkt. Verbinden Sie sich von der Putty-Konsole mit dem MySQL-Server: [bash]mysql -u root -p[/bash]
    8. und geben Sie das gewählte Passwort ein.
    9. Geben Sie den folgenden Befehl ein um die Berechtigungen neu zusetzen: [sql]GRANT ALL PRIVILEGES ON *.* TO ‚USERNAME’@’%‘ WITH GRANT OPTION;[/sql]
    10. Bestätigen Sie die Änderungen mit [sql]FLUSH PRIVILEGES;[/sql]
  14. Fertig!
    1. Jetzt können Sie sich einfach mit dem MySQL-Server der in der virtuellen Maschine läuft verbinden.
    2. Beispielsweise mit der MySQL Workbench, die Sie unter Windows installieren können.

     

Screenshots

]]>
https://mysqladmin.at/2014/01/24/virtuelle-maschinen-die-perfekte-testumgebung/feed/ 1