Das Skript configure bietet Ihnen umfassende Kontrolle darüber, wie Sie Ihre MySQL-Quelldistribution konfigurieren. Normalerweise werden Sie dies mithilfe der Optionen von configure an der Befehlszeile tun. Sie können configure auch über bestimmte Umgebungsvariablen beeinflussen. Siehe auch Anhang F, Umgebungsvariablen. Eine Liste der Optionen, die von configure unterstützt werden, erhalten Sie nach Ausführen des folgenden Befehls:
shell> ./configure --help
In der Folge wollen wir einige der häufiger verwendeten Optionen von configure beschreiben:
            Um nur die Clientbibliotheken und -programme von MySQL (und
            nicht den Server) zu kompilieren, verwenden Sie die Option
            --without-server:
          
shell> ./configure --without-server
            Wenn Sie keinen C++-Compiler haben, kann
            mysql nicht kompiliert werden (dies ist
            das einzige Clientprogramm, das C++ erfordert). In diesem
            Fall können Sie den Code, der das Vorhandensein des
            C++-Compilers prüft, aus configure
            entfernen und dann ./configure mit der
            Option --without-server ausführen. In
            diesem Fall wird bei der Kompilierung zwar versucht,
            mysql zu erstellen, aber Sie können alle
            Warnungen bezüglich mysql.cc
            ignorieren. (Wenn make stehen bleibt,
            geben Sie make -k ein, um das System
            anzuweisen, die Erstellung auch bei Auftreten von Fehlern
            abzuschließen.)
          
            Wenn Sie die eingebettete MySQL-Bibliothek
            (libmysqld.a) erstellen wollen, verwenden
            Sie die Option --with-embedded-server.
          
            Wenn Sie nicht wollen, dass Ihre Logdateien und die
            Datenbankverzeichnisse in
            /usr/local/var abgelegt werden,
            verwenden Sie configure in der Art wie
            folgt:
          
shell>./configure --prefix=/usr/local/mysqlshell>./configure --prefix=/usr/local \--localstatedir=/usr/local/mysql/data
            Der erste Befehl ändert das Installationspräfix, sodass
            alles in /usr/local/mysql (statt wie
            standardmäßig vorgesehen in
            /usr/local) installiert wird. Der
            zweite Befehl belässt das Installationsstandardpräfix
            zwar, ersetzt aber die Standardposition der
            Datenbankverzeichnisse (normalerweise
            /usr/local/var) durch
            /usr/local/mysql/data.
          
Sie können die Positionen auch zum Zeitpunkt des Serverstarts angeben, indem Sie sie in die MySQL-Optionsdatei eintragen. Siehe auch Abschnitt 4.3.2, „my.cnf-Optionsdateien“.
            Wenn Sie Unix verwenden und die MySQL-Socketdatei an einer
            anderen Position als im Standardverzeichnis (normalerweise
            /tmp oder
            /var/run) ablegen wollen, verwenden Sie
            den configure-Befehl wie folgt:
          
shell>./configure \--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
            Der Socketdateiname muss ein absoluter Pfadname sein. Sie
            können die Position von mysql.sock
            mithilfe einer Optionsdatei auch zum Zeitpunkt des
            Serverstarts einstellen. Siehe auch
            Abschnitt A.4.5, „Wie Sie die MySQL-Socketdatei /tmp/mysql.sock
        schützen oder ändern“.
          
Wenn Sie statisch verknüpfte Programme kompilieren wollen, um etwa eine Binärdistribution zu erstellen, die Leistung zu optimieren oder Probleme mit bestimmten Red Hat Linux-Distributionen zu umgehen, dann führen Sie configure wie folgt aus:
shell>./configure --with-client-ldflags=-all-static \--with-mysqld-ldflags=-all-static
            Wenn Sie gcc einsetzen und
            libg++ oder libstdc++
            nicht installiert haben, können Sie
            configure anweisen,
            gcc als C++-Compiler zu verwenden:
          
shell> CC=gcc CXX=gcc ./configure
            Verwenden Sie gcc als C++-Compiler, dann
            wird keine Verknüpfung mit libg++ oder
            libstdc++ probiert. Dies kann auch dann
            von Vorteil sein, wenn Sie die betreffenden Bibliotheken
            installiert haben. In Verbindung mit einigen Versionen
            dieser Bibliotheken sind bei MySQL-Benutzern in der
            Vergangenheit nicht nachvollziehbare Probleme aufgetreten.
          
Die folgende Liste führt einige Compiler auf. Ferner aufgelistet sind die zugehörigen Einstellungen für Umgebungsvariablen.
gcc 2.7.2:
CC=gcc CXX=gcc CXXFLAGS="-O3 -felide-constructors"
egcs 1.0.3a:
CC=gcc CXX=gcc CXXFLAGS="-O3 -felide-constructors \ -fno-exceptions -fno-rtti"
gcc 2.95.2:
CFLAGS="-O3 -mpentiumpro" CXX=gcc CXXFLAGS="-O3 -mpentiumpro \ -felide-constructors -fno-exceptions -fno-rtti"
                pgcc 2.90.29 oder höher:
              
CFLAGS="-O3 -mpentiumpro -mstack-align-double" CXX=gcc \ CXXFLAGS="-O3 -mpentiumpro -mstack-align-double \ -felide-constructors -fno-exceptions -fno-rtti"
In den meisten Fällen erhalten Sie eine vernünftig optimierte MySQL-Binärdatei, wenn Sie die Optionen der vorangegangenen Tabelle verwenden und die folgenden Optionen in der configure-Befehlszeile hinzufügen:
--prefix=/usr/local/mysql --enable-assembler \ --with-mysqld-ldflags=-all-static
Mit anderen Worten: Die vollständige configure-Zeile würde bei allen aktuellen gcc-Versionen ungefähr wie folgt aussehen:
CFLAGS="-O3 -mpentiumpro" CXX=gcc CXXFLAGS="-O3 -mpentiumpro \ -felide-constructors -fno-exceptions -fno-rtti" ./configure \ --prefix=/usr/local/mysql --enable-assembler \ --with-mysqld-ldflags=-all-static
Alle von uns auf der MySQL-Website unter http://dev.mysql.com/downloads/ bereitgestellten Binärdateien wurden mit optimalen Einstellungen kompiliert und sollten für die meisten Benutzer perfekt geeignet sein. Siehe auch Abschnitt 2.1.2.5, „MySQL-Binärdistributionen, die von MySQL AB kompiliert wurden“. Es gibt einige Konfigurationseinstellungen, durch deren Optimierung Sie eine noch schnellere Binärdatei erstellen können. Diese Einstellungen sind jedoch nur für fortgeschrittene Benutzer geeignet. Siehe auch Abschnitt 7.5.4, „Wie Kompilieren und Linken die Geschwindigkeit von MySQL beeinflusst“.
            Schlägt die Erstellung fehl und werden Fehlermeldungen
            erzeugt, weil Ihr Compiler oder Linker die gemeinsame
            Bibliothek
            libmysqlclient.so.
            nicht erstellen konnte (wobei NN
            eine Versionsnummer ist), dann können Sie dieses Problem
            umgehen, indem Sie die Option
            --disable-shared für
            configure ergänzen. In diesem Fall
            erstellt configure die gemeinsame
            Bibliothek
            libmysqlclient.so.
            nicht.
          N
            
            
            
            
            Standardmäßig verwendet MySQL den Zeichensatz
            latin1 (cp1252 West European). Um den
            Standardzeichensatz zu ändern, verwenden Sie die Option
            --with-charset:
          
shell> ./configure --with-charset=CHARSET
            CHARSET kann einen der folgenden
            Werte annehmen: big5,
            cp1251, cp1257,
            czech, danish,
            dec8, dos,
            euc_kr, gb2312,
            gbk, german1,
            hebrew, hp8,
            hungarian, koi8_ru,
            koi8_ukr, latin1,
            latin2, sjis,
            swe7, tis620,
            ujis, usa7 oder
            win1251ukr. Siehe auch
            Abschnitt 5.11.1, „Der für Daten und zum Sortieren benutzte Zeichensatz“.
          
            Die Standardsortierung kann ebenfalls angegeben werden.
            Standardmäßig verwendet MySQL die Sortierung
            latin1_swedish_ci. Um diese Sortierung zu
            ändern, verwenden Sie die Option
            --with-collation:
          
shell> ./configure --with-collation=COLLATION
            Wollen Sie Zeichensatz und Sortierung gleichzeitig ändern,
            dann verwenden Sie einfach beide Optionen
            --with-charset und
            --with-collation. Die Sortierung muss für
            den gewählten Zeichensatz zulässig sein. (Mit der
            Anweisung SHOW COLLATION können Sie die
            für den jeweiligen Zeichensatz zulässige Sortierung
            ermitteln.)
          
            Wenn Sie Zeichen zwischen Server und Client konvertieren
            wollen, dann sollten Sie einen Blick auf die Anweisung
            SET NAMES werfen. Siehe auch
            Abschnitt 13.5.3, „SET“, und
            Abschnitt 10.4, „Verbindungszeichensatz und -sortierfolge“.
          
            Warnung: Wenn Sie den
            Zeichensatz ändern, nachdem Sie bereits Tabellen erstellt
            haben, müssen Sie myisamchk -r -q
            --set-collation=collation_name
            für jede Tabelle ausführen.
            Andernfalls werden Ihre Indizes unter Umständen falsch
            sortiert. Dies kann passieren, wenn Sie MySQL installieren,
            einige Tabellen erstellen und nachfolgend MySQL so
            umkonfigurieren, dass ein anderer Zeichensatz verwendet
            wird, und dann neu installieren.
          
            Mit der configure-Option
            --with-extra-charsets=
            können Sie definieren, welche zusätzlichen Zeichensätze
            in den Server einkompiliert werden sollen.
            LISTLIST hat dabei einen der
            folgenden Werte:
          
eine Liste von Zeichensatznamen, die durch Leerzeichen getrennt sind
                complex, wenn alle Zeichensätze
                enthalten sein sollen, die sich nicht dynamisch laden
                lassen
              
                all, wenn grundsätzlich alle
                Zeichensätze in den Binärdateien enthalten sein sollen
              
            Um MySQL mit Debugging-Code zu konfigurieren, verwenden Sie
            die Option --with-debug:
          
shell> ./configure --with-debug
Auf diese Weise wird eine sichere Speicherzuweisung in die Konfiguration integriert, die in der Lage ist, bestimmte Fehler zu finden und Informationen zu den Abläufen zu vermitteln. Siehe auch Abschnitt E.1, „Einen MySQL-Server debuggen“.
            Wenn Ihre Clientprogramme Threads verwenden, müssen Sie
            eine Thread-sichere Version der MySQL-Clientbibliothek mit
            der Konfigurationsoption
            --enable-thread-safe-client erstellen. Auf
            diese Weise wird eine Bibliothek
            libmysqlclient_r angelegt, mit der Sie
            Ihre Thread-basierten Anwendungen verknüpfen sollten. Siehe
            auch Abschnitt 24.2.15, „Wie man einen Thread-Client herstellt“.
          
            Es ist möglich, MySQL mit Unterstützung für große
            Tabellen zu erstellen. Hierzu verwenden Sie die Option
            --with-big-tables.
          
            Diese Option sorgt dafür, dass die Variablen, die die
            Ergebnisse der Datensatzzählungen enthalten, als
            unsigned long long statt als
            unsigned long gespeichert werden. Sie
            erlaubt Tabellen die Aufnahme von ca. 1,844E+19
            ((232)2)
            Datensätzen statt 232 (ca.
            4,295E+09) Datensätzen. Zuvor war es notwendig gewesen,
            -DBIG_TABLES manuell an den Compiler zu
            übergeben, um diese Funktion zu aktivieren.
          
Optionen, die spezifisch für bestimmte Betriebssysteme sind, finden Sie in den jeweiligen Abschnitten dieses Handbuchs. Siehe auch Abschnitt 2.12, „Betriebssystemspezifische Anmerkungen“.
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.

