Vorsicht: Sie sollten diesen Abschnitt nur lesen, wenn Sie Interesse daran haben, uns beim Testen unseres neuen Codes behilflich zu sein. Wenn Sie MySQL lediglich in funktionsfähiger Form auf Ihrem System einrichten wollen, sollten Sie einen Standard-Release (entweder als Binär- oder als Quelldistribution) verwenden.
Um unseren aktuellsten Entwicklungs-Source-Tree zu bekommen, laden Sie zunächst den kostenlosen BitKeeper-Client herunter, sofern Sie ihn noch nicht haben, und installieren ihn. Sie erhalten den Client unter http://www.bitmover.com/bk-client.shar.
Zur Installation des BitKeeper-Clients unter Unix verwenden Sie die folgenden Befehle:
shell>sh bk-client.shar
shell>cd bk_client-1.1
shell>make all
shell>PATH=$PWD:$PATH
Zur Installation des BitKeeper-Clients unter Windows gehen Sie wie folgt vor:
Laden Sie Cygwin von http://cygwin.com herunter und installieren Sie es.
Vergewissern Sie sich, dass gcc und make unter Cygwin installiert wurden. Sie können dies überprüfen, indem Sie die Befehle which gcc und which make absetzen. Ist eines der Programme nicht installiert, dann führen Sie den Paket-Manager von Cygwin aus, wählen gcc und/oder make und führen die Installation aus.
Führen Sie dann unter Cygwin die folgenden Befehle aus:
shell>sh bk-client.shar
shell>cd bk_client-1.1
Nachfolgend bearbeiten Sie das Makefile
und ändern die Zeile $(CC) $(CFLAGS) -o sfio -lz
sfio.c
wie folgt:
$(CC) $(CFLAGS) -o sfio sfio.c -lz
Nun führen Sie den Befehl make aus und stellen den Pfad ein:
shell>make all
shell>PATH=$PWD:$PATH
Der kostenlose BitKeeper-Client wird mit seinem Quellcode ausgeliefert. Dieser Quellcode ist auch die einzige Dokumentation, die für den kostenlosen Client verfügbar ist.
Nachdem Sie den BitKeeper-Client installiert haben, können Sie auf den MySQL-Entwicklungs-Source-Tree zugreifen:
Wechseln Sie in das Verzeichnis, das als Arbeitsverzeichnis vorgesehen ist, und erstellen Sie mit dem folgenden Befehl eine lokale Kopie des Zweigs von MySQL 5.1:
shell> sfioball -r+ bk://mysql.bkbits.net/mysql-5.1-new mysql-5.1
In obigem Beispiel wird der Source-Tree im Unterverzeichnis
mysql-5.1/
Ihres aktuellen
Verzeichnisses eingerichtet.
Der erste Download des Source-Trees kann je nach Geschwindigkeit Ihrer Verbindung eine Weile dauern. Haben Sie bitte Geduld.
Sie benötigen GNU make, autoconf 2.58 (oder höher), automake 1.8, libtool 1.5 und m4, um die nächste Befehlsgruppe auszuführen. Zwar werden viele Betriebssysteme mit eigener Implementierung von make ausgeliefert, aber die Wahrscheinlichkeit, dass der Kompilierungsvorgang mit merkwürdigen Fehlermeldungen abbricht, ist doch recht hoch. Aus diesem Grund wird dringend empfohlen, stattdessen GNU make (das manchmal auch als gmake bezeichnet wird) zu verwenden.
Glücklicherweise wird eine große Anzahl von Betriebssystemen mit vorinstallierten GNU-Tools ausgeliefert oder enthält deren Installationspakete. In jedem Fall können Sie sie auch unter den folgenden Adressen herunterladen:
Um MySQL 5.1 zu konfigurieren, benötigen Sie ferner GNU bison 1.75 oder höher. Ältere Versionen von bison zeigen unter Umständen folgenden Fehler an:
sql_yacc.yy:#####: fatal error: maximum table size (32767) exceeded
Hinweis: Die maximale Tabellengröße wurde mitnichten überschritten; vielmehr wird der Fehler von Bugs in älteren bison-Versionen ausgelöst.
Das folgende Beispiel zeigt die typischen Befehle, die zur
Konfiguration eines Source-Trees erforderlich sind. Der
erste Befehl cd
wechselt in das oberste
Verzeichnis des Trees. Hierbei ist
mysql-5.1
durch den
korrekten Verzeichnisnamen zu ersetzen.
shell>cd mysql-5.1
shell>aclocal; autoheader
shell>libtoolize --automake --force
shell>automake --force --add-missing; autoconf
shell>(cd storage/innobase; aclocal; autoheader; autoconf; automake)
shell>(cd storage/bdb/dist; sh s_all)
shell>./configure # Add your favorite options here
shell>make
Alternativ verwenden Sie BUILD/autorun.sh als Abkürzung für die folgende Befehlssequenz:
shell>aclocal; autoheader
shell>libtoolize --automake --force
shell>automake --force --add-missing; autoconf
shell>(cd storage/innobase; aclocal; autoheader; autoconf; automake)
shell>(cd storage/bdb/dist; sh s_all)
Die Befehlszeilen, die in die Verzeichnisse
storage/innobase
bzw.
storage/bdb/dist
wechseln, dienen der
Konfiguration der InnoDB
- und Berkeley
DB(BDB
)-Speicher-Engines. Sie können
diese Befehlszeilen weglassen, wenn Sie Unterstützung für
InnoDB
bzw. BDB
nicht
benötigen.
Hinweis: Ab MySQL 5.1 wird
Code, der spezifisch für bestimmte Speicher-Engines ist, in
ein storage
-Verzeichnis verschoben. So
liegt beispielsweise InnoDB
-Code jetzt in
storage/innobase
und
NDBCluster
-Code in
storage/ndb
.
Wenn Ihnen in dieser Phase seltsame Fehler angezeigt werden, dann vergewissern Sie sich, dass libtool wirklich installiert wurde.
Eine Sammlung unserer Standardkonfigurationsskripten
befindet sich im Unterverzeichnis
BUILD/
. Unter Umständen finden Sie es
praktischer, statt der vorangegangenen Gruppe von
Shell-Befehlen das Skript
BUILD/compile-pentium-debug
zu
verwenden. Um auf einer anderen Architektur zu kompilieren,
ändern Sie das Skript ab, indem Sie Pentium-spezifische
Flags entfernen.
Wenn die Erstellung abgeschlossen ist, führen Sie
make install aus. Auf einem
Produktionssystem sollten Sie dies allerdings mit Vorsicht
tun: Es besteht die Möglichkeit, dass der Befehl die
aktuelle Release-Installation überschreibt. Wenn bereits
eine MySQL-Installation vorhanden ist, empfehlen wir die
Ausführung von ./configure unter
Zuweisung anderer als der für den Produktionsserver
verwendeten Werte für die Optionen
--prefix
, --with-tcp-port
und --unix-socket-path
.
Prüfen Sie Ihre neue Installation auf Herz und Nieren und versuchen Sie, die neuen Funktionen zum Absturz zu bringen. Führen Sie zunächst make test aus. Siehe auch Abschnitt 26.1.2, „MySQL-Testsystem“.
Wenn Sie es bis zur make-Phase geschafft
haben, aber die Distribution sich nicht kompilieren lässt,
dann geben Sie das Problem in unsere Fehlerdatenbank ein.
Beachten Sie hierzu die Anweisungen in
Abschnitt 1.8, „Wie man Bugs oder Probleme meldet“. Haben Sie die aktuellen
Versionen der erforderlichen GNU-Tools installiert und
stürzen diese bei der Verarbeitung unserer
Konfigurationsdateien ebenfalls ab, dann teilen Sie uns
bitte auch dies mit. Wenn Sie allerdings
aclocal
ausführen und die Fehlermeldung
command not found
o. ä. erhalten,
melden Sie dies bitte nicht. Überprüfen Sie stattdessen,
ob alle notwendigen Tools installiert sind und Ihre Variable
PATH
korrekt eingestellt ist, damit Ihre
Shell sie finden kann.
Wenn Sie das Repository mit sfioball kopiert haben, um den Source-Tree zu erhalten, sollten Sie regelmäßig update ausführen, um Ihre lokale Kopie zu aktualisieren. Zu diesem Zweck können Sie nach der Konfiguration des Repositorys jederzeit den folgenden Befehl verwenden:
shell> update bk://mysql.bkbits.net/mysql-5.1-new
Sie können die Änderungshistorie des Trees mit allen Diffs
überprüfen, indem Sie die Datei
BK/ChangeLog
im Source-Tree anzeigen
und nach den dort aufgelisteten
ChangeSet
-Beschreibungen suchen. Um ein
bestimmtes Changeset zu untersuchen, müssten Sie mit dem
Befehl sfioball zwei bestimmte Revisionen
des Source-Trees extrahieren und dann einen externen
diff-Befehl aufrufen, um den Vergleich
durchzuführen. Wenn Sie über ein paar spaßige Diffs oder
über Code stolpern, zu dem Sie Fragen haben, schicken Sie
einfach eine E-Mail an die MySQL-Mailingliste
internals
. Siehe auch
Abschnitt 1.7.1, „Die MySQL-Mailinglisten“. Auch wenn Sie
eine gute Idee haben, wie man etwas vielleicht besser lösen
könnte, schicken Sie ruhig eine E-Mail mit einem Patch an
die Liste.
Changesets, Anmerkungen und Quellcode können Sie auch online durchsuchen. Um die entsprechenden Informationen für MySQL 5.1 anzuzeigen, besuchen Sie http://mysql.bkbits.net:8080/mysql-5.1.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.