Dieser Abschnitt listet die Betriebssysteme auf, auf denen MySQL ausgeführt können werden sollte.
Wir verwenden GNU Autoconf, weswegen eine Portierung von MySQL auf alle modernen Systeme möglich ist, die einen C++-Compiler und eine funktionsfähige Implementierung von POSIX-Threads enthalten. (Die Thread-Unterstützung wird für den Server benötigt. Wenn Sie nur den Clientcode kompilieren wollen, benötigen Sie lediglich den C++-Compiler.) Wir selbst verwenden und entwickeln die Software in erster Linie auf Systemen unter Linux (SuSE und Red Hat), FreeBSD und Sun Solaris (Versionen 8 und 9).
Berichten zufolge lässt sich MySQL erfolgreich auf den nachfolgend aufgeführten Kombinationen aus Betriebssystem und Thread-Paket kompilieren. Beachten Sie, dass die native Thread-Unterstützung bei vielen Betriebssystemen nur in den jeweils aktuellsten Versionen funktioniert.
AIX 4.x, 5.x mit nativen Threads. Siehe auch Abschnitt 2.12.5.3, „Anmerkungen zu IBM-AIX“.
Amiga.
BSDI 2.x mit dem MIT-pthreads-Paket. Siehe auch Abschnitt 2.12.4.4, „Anmerkungen zu BSD/OS“.
BSDI 3.0, 3.1 und 4.x mit nativen Threads. Siehe auch Abschnitt 2.12.4.4, „Anmerkungen zu BSD/OS“.
Digital Unix 4.x mit nativen Threads. Siehe auch Abschnitt 2.12.5.5, „Anmerkungen zu Alpha-DEC-UNIX (Tru64)“.
FreeBSD 2.x mit dem MIT-pthreads-Paket. Siehe auch Abschnitt 2.12.4.1, „Anmerkungen zu FreeBSD“.
FreeBSD 3.x und 4.x mit nativen Threads. Siehe auch Abschnitt 2.12.4.1, „Anmerkungen zu FreeBSD“.
FreeBSD 4.x mit LinuxThreads. Siehe auch Abschnitt 2.12.4.1, „Anmerkungen zu FreeBSD“.
HP-UX 10.20 mit den DCE-Threads oder dem MIT-pthreads-Paket. Siehe auch Abschnitt 2.12.5.1, „Anmerkungen zu HP-UX Version 10.20“.
HP-UX 11.x mit den nativen Threads. Siehe auch Abschnitt 2.12.5.2, „Anmerkungen zu HP-UX Version 11.x“.
Linux 2.0+ mit LinuxThreads 0.7.1+ oder
glibc
2.0.7+ für verschiedene
CPU-Architekturen. Siehe auch Abschnitt 2.12.1, „Linux (alle Linux-Versionen)“.
Mac OS X. Siehe auch Abschnitt 2.12.2, „Anmerkungen zu Mac OS X“.
NetBSD 1.3/1.4 Intel und NetBSD 1.3 Alpha (erfordert GNU make). Siehe auch Abschnitt 2.12.4.2, „Anmerkungen zu NetBSD“.
Novell NetWare 6.0 und 6.5. Siehe auch Abschnitt 2.6, „Installation von MySQL unter NetWare“.
OpenBSD 2.5 mit nativen Threads. OpenBSD vor Version 2.5.x mit dem MIT-pthreads-Paket. Siehe auch Abschnitt 2.12.4.3, „Anmerkungen zu OpenBSD“.
OS/2 Warp 3, FixPack 29, und OS/2 Warp 4, FixPack 4. Siehe auch Abschnitt 2.12.6, „Anmerkungen zu OS/2“.
SCO OpenServer 5.0.X mit einer aktuellen Portierung des FSU-Pthreads-Pakets. Siehe auch Abschnitt 2.12.5.8, „Anmerkungen zu SCO UNIX und OpenServer 5.0.x“.
SCO OpenServer 6.0.x. Siehe auch Abschnitt 2.12.5.9, „Anmerkungen zu SCO OpenServer 6.0.x“.
SCO UnixWare 7.1.x. Siehe auch Abschnitt 2.12.5.10, „Anmerkungen zu SCO UnixWare 7.1.x und OpenUNIX 8.0.0“.
SGI Irix 6.x mit nativen Threads. Siehe auch Abschnitt 2.12.5.7, „Anmerkungen zu SGI Irix“.
Solaris 2.5 und höher mit nativen Threads auf SPARC und x86. Siehe auch Abschnitt 2.12.3, „Anmerkungen zu Solaris“.
SunOS 4.x mit dem MIT-pthreads-Paket. Siehe auch Abschnitt 2.12.3, „Anmerkungen zu Solaris“.
Tru64 Unix. Siehe auch Abschnitt 2.12.5.5, „Anmerkungen zu Alpha-DEC-UNIX (Tru64)“.
Windows 9x, Me, NT, 2000, XP und Windows Server 2003. Siehe auch Abschnitt 2.3, „Installation von MySQL unter Windows“.
Nicht alle Plattformen sind für die Ausführung von MySQL gleichermaßen geeignet. Die Eignung einer Plattform für einen unternehmenskritischen, stark beanspruchten MySQL Server wird von den folgenden Faktoren bestimmt:
Allgemeine Stabilität der Thread-Bibliothek. Auch auf Plattformen, die ansonsten einen exzellenten Ruf genießen, ist MySQL nur so stabil wie die aufgerufene Thread-Bibliothek – und zwar auch dann, wenn alles andere perfekt ist.
Die Funktionalität des Kernels und der Thread-Bibliothek bezüglich der optimalen Nutzung von SMP-Systemen (symmetrischen Multiprozessorsystemen). Mit anderen Worten: Wenn ein Prozess einen Thread erstellt, sollte dieser auf einem anderen Prozessor laufen können als der ursprüngliche Prozess.
Die Fähigkeit von Kernel und Thread-Bibliothek, mehrere
Threads auszuführen, die häufig ein Mutex für einen
kurzen kritischen Bereich ohne umfassende Kontextschalter
setzen, und aufzuheben. Wenn die Implementierung von
pthread_mutex_lock()
zu zurückhaltend
bei der Bereitstellung von Prozessorzeit ist, wird MySQL
hierdurch empfindlich gestört. Wird dieser Aspekt nicht
berücksichtigt, dann macht das Ergänzen zusätzlicher
Prozessoren MySQL tatsächlich langsamer.
Allgemeine Stabilität und Leistungsfähigkeit des Dateisystems.
Wenn Ihre Tabellen sehr groß werden, steht und fällt die Leistung mit der Fähigkeit des Dateisystems, mit großen Dateien nicht nur überhaupt, sondern sogar effizient umgehen zu können.
Unser eigenes Fachwissen hier bei MySQL AB bezüglich des jeweiligen Betriebssystems. Kennen wir eine Plattform gut, dann können wir plattformspezifische Optimierungen und Fehlerbehebungen bei der Kompilierung aktivieren. Außerdem können wir Informationen zur optimalen Konfiguration Ihres Systems für MySQL vermitteln.
Der Umfang der Tests, die wir intern für ähnliche Konfigurationen durchgeführt haben.
Die Anzahl der Benutzer, die MySQL erfolgreich auf Plattformen mit ähnlichen Konfigurationen verwenden. Ist diese Zahl groß, dann ist die Wahrscheinlichkeit plattformspezifischer Überraschungen eher gering.
Basierend auf diesen Kriterien sind die derzeit am besten für
die Ausführung von MySQL geeigneten Plattformen x86 mit SuSE
Linux (Kernel 2.4 oder 2.6) und ReiserFS (oder jede ähnliche
Linux-Distribution) und SPARC mit Solaris (2.7 bis 2.9). An
dritter Stelle kommt FreeBSD; wir hoffen aber, es in den Kreis
der Favoriten aufnehmen zu können, sobald die Thread-Bibliothek
optimiert wurde. Außerdem sind wir natürlich zuversichtlich,
irgendwann alle anderen Plattformen, auf denen MySQL derzeit
kompiliert und ausgeführt werden kann, aber noch nicht mit
derselben hohen Stabilität und Leistungsfähigkeit läuft, in
diese Runde aufnehmen zu können. Dies erfordert einigen Aufwand
unsererseits in Zusammenarbeit mit den Entwicklern der
Betriebssysteme und Bibliothekskomponenten, auf die MySQL
angewiesen ist. Wenn Sie an der Optimierung einer dieser
Komponenten interessiert sind, Einfluss auf deren Entwicklung
ausüben können und detailliertere Angaben dazu benötigen, was
MySQL für eine bessere Ausführung benötigt, dann senden Sie
eine E-Mail an die MySQL-Mailingliste
internals
. Siehe auch
Abschnitt 1.7.1, „Die MySQL-Mailinglisten“.
Bitte beachten Sie, dass es nicht Zweck des obigen Vergleichs ist, festzustellen, dass ein Betriebssystem generell besser oder schlechter ist als ein anderes. Die Rede ist hier ausschließlich von der Auswahl eines Betriebssystems für den ganz speziellen Zweck, MySQL auszuführen. Wenn man andere Schwerpunkte setzen würde, würde das Ergebnis des Vergleichs sicher auch anders ausfallen. In bestimmten Fällen besteht der Grund dafür, dass ein Betriebssystem für die Ausführung von MySQL besser geeignet ist als ein anderes, schlicht und einfach darin, dass wir mehr Aufwand in Tests und Optimierung einer bestimmten Plattform gesteckt haben. Wir geben hier unsere Beobachtungen wieder, um Ihnen bei der Entscheidung zu helfen, eine geeignete Plattform für MySQL auszuwählen.
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.