Nous utilisons GNU Autoconf
, alors il est
possible de porter MySQL sur tous les systèmes modernes qui
utilisent les threads Posix et un compilateur C++. Pour compiler
uniquement le client, un compilateur C++ est simplement
nécessaire. Nous utilisons et développons le logiciel
nous-mêmes, en commen¸ant par Sun Solaris (Versions 2.5 - 2.7)
et SuSE Linux version 7.x.
Notez que pour de nombreux systèmes d'exploitation, le support natif des threads ne fonctionne qu'avec les dernières versions. MySQL a été compilé avec succès sur les combinaisons système d'exploitation/paquet de threads suivants :
AIX 4.x, 5.x avec les threads natifs. See Section 2.8.5.3, « Notes relatives à IBM-AIX ».
Amiga.
BSDI 2.x avec le paquet MIT-pthreads
. See
Section 2.8.4.5, « Notes relatives aux versions 2.x de BSD/OS ».
BSDI 3.0, 3.1 et 4.x avec les threads natifs. See Section 2.8.4.5, « Notes relatives aux versions 2.x de BSD/OS ».
DEC Unix 4.x avec les threads natifs. See
Section 2.8.5.5, « Notes pour Alpha-DEC-UNIX (Tru64
) ».
FreeBSD 2.x avec le paquet MIT-pthreads
.
See Section 2.8.4.1, « Notes relatives à FreeBSD ».
FreeBSD 3.x et 4.x avec les threads natifs. See Section 2.8.4.1, « Notes relatives à FreeBSD ».
FreeBSD 4.x avec LinuxThreads
. See
Section 2.8.4.1, « Notes relatives à FreeBSD ».
HP-UX 10.20 avec les threads DCE ou avec le paquet
MIT-pthreads
. See
Section 2.8.5.1, « Notes relatives à la version 10.20 de HP-UX ».
HP-UX 11.x avec les threads natifs See Section 2.8.5.2, « HP-UX Version 11.x Notes ».
Linux 2.0+ avec LinuxThreads
0.7.1+ ou
glibc
2.0.7+. See
Section 2.8.1, « Notes relatives à Linux (toutes versions) ».
Mac OS X. See Section 2.8.2, « Notes relatives à Mac OS X ».
NetBSD 1.3/1.4 Intel et NetBSD 1.3 Alpha (requiert GNU make). See Section 2.8.4.2, « Notes concernant NetBSD ».
Novell NetWare 6.0. See Section 2.2.14, « Installer MySQL sur NetWare ».
OpenBSD > 2.5 avec les threads natifs. OpenBSD < 2.5
avec le paquet MIT-pthreads
. See
Section 2.8.4.3, « Notes relatives à OpenBSD 2.5 ».
OS/2 Warp 3, FixPack 29 et OS/2 Warp 4, FixPack 4. See Section 2.8.6, « Notes relatives à OS/2 ».
SCO OpenServer avec un port récent du paquet FSU Pthreads. See Section 2.8.5.8, « Notes sur SCO ».
SCO UnixWare 7.1.x. See Section 2.8.5.9, « Notes sur SCO UnixWare Version 7.1.x ».
SGI Irix 6.x avec les threads natifs. See Section 2.8.5.7, « Notes relatives à SGI Irix ».
Solaris 2.5 et plus récent, avec les threads natifs sur SPARC et x86. See Section 2.8.3, « Notes pour Solaris ».
SunOS 4.x avec le paquet MIT-pthreads
.
See Section 2.8.3, « Notes pour Solaris ».
Tru64 Unix
Windows 9x, Me, NT, 2000 et XP. See Section 2.2.1, « Installer MySQL sous Windows ».
Notez que toutes les plates-formes ne sont pas équipées de la même fa¸on pour faire fonctionner MySQL. Les capacités d'une plate-forme pour supporter de fortes charges avec MySQL est déterminé par ceci :
Stabilité générale de la bibliothèque de threads. Une plate-forme qui a une excellente réputation en général, mais une bibliothèque de threads instable, dont le code est utilisé par MySQL, même si le reste est parfait, fera de MySQL une application instable.
La capacité du noyau et/ou de la bibliothèque de threads de profiter des capacités multi-processeurs, symétrique ou pas. En d'autres termes, lorsqu'un processus crée un thread, il doit être possible pour ce thread de s'exécuter sur différents processeurs.
La capacité du noyau et/ou de la bibliothèque de threads
de faire fonctionner de nombreux threads qui posent et
lèvent des verrous mutex en peut de temps, fréquemment,
sans changement de contexte excessif. En d'autres termes, si
l'implémentation de pthread_mutex_lock()
est trop soucieux du temps CPU, cela va ralentir
sérieusement MySQL. Si ce problème n'est pas réglé,
ajouter des processeurs supplémentaires va finalement
ralentir MySQL.
Performance et stabilité générale du système de fichiers.
La capacité du système d'exploitation de gérer de grands fichiers, et de le faire efficacement, si vos tables sont grandes.
Notre niveau d'expertise avec la plate-forme, chez MySQL AB. Si vous connaissons bien une plate-forme, vous pourront introduire des optimisations et des corrections spécifiques à la plate-forme, et activé lors de la compilation. Nous pouvons aussi fournir des conseils judicieux pour configurer votre système optimalement pour MySQL.
Le temps de tests que vous avons consacré à des configurations similaires, en interne.
Le nombre d'utilisateur de MySQL qui font fonctionner MySQL avec succès sur cette plate-forme, avec des configurations similaires. Si ce nombre est grand, les chances de rencontrer un problème spécifique sont faibles.
En se basant sur les critères précédents, les meilleures plates-formes pour MySQL sont x86 avec SuSE Linux 7.1, noyau 2.4, et ReiserFS (ou toute autre distribution Linux similaire) et SPARC avec Solaris 2.7 ou 2.8. FreeBSD vient en troisième, mais nous espérons bien le voir rejoindre le groupe de tête, une fois que la bibliothèque de threads sera améliorée. Nous espérons aussi être bientôt capables d'ajouter les autres plates-formes sur laquelle MySQL compile, et fonctionne correctement, mais pas toujours le bon niveau de stabilité et de performances. Cela réclame des efforts de notre part, en coopération avec les développeurs de ces plates-formes. Si vous êtes intéressés par l'amélioration de ces composants, et que vous êtes en position pour influencer le développement, demandez des instructions détaillées à MySQL en envoyant un email aux listes internes. See Section 1.4.1.1, « Les listes de diffusion de MySQL ».
Notez bien que la comparaison précédente ne signifie pas qu'un système d'exploitation est meilleur que l'autre, en général. Nous avons classé les systèmes en fonction de leur capacité à faire fonctionner un système MySQL, et nous nous limitons à cette comparaison. Avec cela en tête, le résultat de cette comparaison serait différent si nous y ajoutions d'autres problèmes. Et dans certains cas, la seule raison qui fait qu'un OS est meilleur que l'autre est parce que nous y avons consacré plus de temps, pour optimiser et tester. Nous nous bornons à exprimer notre point de vue pour vous aider à décider quelle plate-forme choisir pour votre serveur MySQL.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.