MySQL – Kompilieren eigener Binaries

MySQL hat sich über die Jahre zu einer DER Datenbanken schlechthin entwickelt – die große Portabilität zwischen verschiedenen Systemen, die Stabilität und Flexibilität sowie die unschlagbare Geschwindigkeit haben dieser Datenbank im Laufe der Zeit zu einem hervorragenden Ruf verholfen.

Es ist also an der Zeit, sich einmal intensiver mit dem Thema „MySQL“ beschäftigten und nachdem ich im Laufe der letzten Jahre verschiedene Distributionen mit vorkompilierten Binaries getestet habe, kam irgendwann der Zeitpunkt, wo ich MySQL speziell an mein System anpassen und auch nicht mehr mit der mitgelieferten Version Vorlieb nehmen wollte.

Fazit : Der Quellcode musste her, ein wenig Wissen musste angelesen werden und als Resultat erhielt ich letztendlich dann die speziell auf mein jeweiliges System angepasste Version von MySQL.

Als erstes sollte sich der geneigte Linux-User daher das Source-Package von http://www.mysql.com besorgen, im Falle dieses Workshops hieß die aktuelle Version „mysql-5.1.42.tar.gz“ und stellte den blanken Sourcecode dar. Dieser ist mit dem Kommando

„tar zxvf mysql-5.1.42.tar.gz“

zu entpacken.

Wechselt nun in das neu enstandene Verzeichnis „mysql-5.1.42.tar.gz“. Nun muß erstmal der Standard-MySQL-User und die Standardgruppe angelegt werden. Dies geschieht durch Eingabe der folgenden Kommandos :

„groupadd mysql“ und
„useradd -g mysql mysql“

Anschließend müsst Ihr erst einmal das „Configure“-Skript ablaufen lassen, das Eure Systemumgebung prüft und aus dem Ergebnis das Makefile generiert. Werden hier Fehler ausgegeben, müssen über die jeweiligen Paketmanager oder manuell die fehlenden Module- bzw. Bibliotheken nachinstalliert werden. Wollt Ihr Eure MySQL-Version also beispielsweise unter „/usr/local/mysql“ installieren, so gilt folgende Eingabe :

„./configure –prefix=/usr/local/mysql“

Dies sollte im Normalfall (von dem ich jetzt hier einfach einmal ausgehe) problemlos vonstatten gehen (meine Tests fanden bei älteren MySQL-Distributionen unter anderem auf Debian 2.1, Red Hat 6.2 & 7.0 sowie SuSE 7.2, alle Versuche, den aktuellen 5’er Stamm der Open Source-Datenbank zu erstellen unter SuSE  11.2 statt), weswegen ihr anschließend das eigentliche Kompilieren in Angriff nehmen könnt. Tippt also

„make“ und
„make install“

und fertig sind eure eigenen, selbstkompilierten MySQL-Binaries – vorausgesetzt, Compiler und die notwendigen Bibliotheken sind installiert. Falls nicht, gilt auch hier: Nachinstallieren!

Ihr könnt nun die MySQL-Standarddatenbank, in der unter anderem die Benutzer verwaltet werden, durch die Eingabe von

„scripts/mysql_install_db“

erstellen.

Nun müssen noch die jeweiligen Benutzerrechte auf das „mysql“-Verzeichnis und die darunterliegenden Pfade gesetzt werden. Dies geschieht durch die folgenden Befehle :

„chown -R root /usr/local/mysql“,
„chown -R mysql /usr/local/mysql/var“ und
„chgrp -R mysql /usr/local/mysql“.

Nun sind wir fast am Ende – als vorletzten Punkt müssen wir nur noch ein Standard-Konfigurationsfile in das „/etc“-Verzeichnis unseres Linux-Systems kopieren. Als Standard nimmt man die vordefinierte Konfigurationsdatei „my-medium.cnf“, die für ziemlich alle Plattformen den besten Kompromiss bietet. Natürlich stehen für langsamere oder auch High-End-Rechner ebenfalls Musterkonfiguration zur Verfügung, aber wir wählen auf unserem Testsystem (Core2Duo-CPU 2,53 GHz, 4 GB RAM) einfach mal die Medium-Datei. Gebt also folgendes Kommando ein, während ihr euch noch im Sourcepfad befindet :

„cp support-files/my-medium.cnf /etc/my.cnf“

Damit habt ihr die Hürde der ersten eigenen MySQL-Installation bereits genommen. Startet nun „euer“ Werk durch Eingabe von

„/usr/local/mysql/bin/mysqld_safe –user=mysql &“

und die Datenbank läuft. Wollt ihr es euch dann noch ganz einfach machen, kopiert die die Datei „mysql.server.sh“ in euer „/etc/init.d“-Verzeichnis

(„cp support-files/mysql.server.sh /etc/init.d/mysql“),

paßt sie gegebenenfalls an Euer System an und macht das Skript durch die Eingabe von

„chmod +x /etc/init.d/mysql“

ausführbar.

Anschliessend teilen wir dem System mit, das in den Standardrunleveln 2, 3, 4 und 5 das MySQL-Startskript abgearbeitet werden soll. Das geschieht einmalig durch Eingabe des Befehls

„/sbin/chkconfig -add mysql“.

Nun wird euer MySQL-Dämon bei jedem Neustart des Systems automatisch mitgestartet, sofern Ihr die oben genannte Datei noch per Editor (vi etc.) in den Variablen „basedir“ und „datadir“ wie folgt anpasst (angelehnt an unsere Standardinstallationspfade):

„basedir=/usr/local/mysql
datadir=/usr/local/mysql/var“

Was nun noch geändert werden sollte, nachdem der Dämon läuft ist – selbstverständlich – das leere Standardkennwort für den MySQL-Root-Benutzer. Dies geschieht durch Eingabe von

„/usr/local/mysql/bin/mysql -u root -p“

Nach Drücken der „Enter“-Taste (schliesslich ist das aktuelle Kennwort eigentlich noch gar keins) befindet Ihr Euch dann auf der MySQL-Konsole. Nun kann durch Eingabe des Befehls

„set password=password(„neues passwort“);“

das neue Kennwort (bitte entsprechend und selbstverständlich den Tag „neues passwort“ ersetzen!) gesetzt werden. Durch die Eingabe des Befehls „exit“ gelangt Ihr dann wieder auf die Linux-Shell.

So, ich denke mal, das sollte für den ersten Einstieg in die Installation einer MySQL-Datenbank gereicht haben und ich hoffe, das dieser Workshop auch einigermaßen verständlich aufgebaut ist – falls nicht, bin ich immer für irgendwelche Verbesserungsvorschläge, Fragen, Anregungen aber auch Kritik immer empfänglich ! Denkt immer dran, das dies ein kleiner Schritt in das Kompilieren von MySQL-Binaries ist und erst einmal eine funktionsfähige Datenbankstruktur liefert. Wer mehr benötigt, kann den anfänglichen „configure“-Befehl entsprechend anpassen und so all die Module einkompilieren, die in diesem Standard-Tutorial aus Zeit- und Platzgründen unerwähnt blieben.

Die hier angegeben Pfade müssen sich natürlich nicht mit euren Einstellungen decken und wenn ihr zum Beispiel alle Binärdateien oder Datenbanken in andere Verzeichnisse installieren wollt, empfehle ich die Option

„./configure -help“ ,

wo wirklich jede kleinste Option für eure persönliche Installation genauestens dokumentiert ist. Als kleine Notiz am Rande sei angemerkt, das dieses Tutorial in dieser Form bereits seit MySQL 3.23.42 besteht, sich über all die Monate und Jahre in der eigentlichen Grundinstallationsroutine keine nennenswerten Änderungen ergeben haben – zumindest nicht für die blanke Grundinstallation!

Zuguterletzt hier noch die URL’s zu zwei Tools, mit denen sich die Verwaltung eurer MySQL-Datenbank zu einem Kinderspiel entwickelt :

Webmin : http://www.webmin.com

phpMyAdmin : http://www.phpmyadmin.net

  • facebook
  • googleplus
  • twitter
  • linkedin
  • linkedin
  • linkedin

Stolzer Familienvater. Digital Native und chronischer Device-Switcher. Multimedia-Freak. UK-Fan, auch mit Brexit. Blogger mit stets zu wenig Zeit. Hobbyphilosoph. Musik-Enthusiast. Querdenker. Zyniker. Hauptberuflicher IT-Consultant- & Vertriebler. Auch zu finden bei XING. Dieser Artikel hat einen Job oder zumindest Euren Seelenfrieden gerettet und gegebenfalls sogar für Kurzweil gesorgt? Die PayPal-Kaffeekasse freut sich - dankeschön!

  • facebook
  • twitter
  • googleplus
  • linkedIn
  • instagram
  • telegram

1 Kommentar

Kommentar verfassen