Cette section décrit quelques informations concernant
        l'utilisation des MIT-pthreads.
      
        Notez que sur Linux vous ne devez pas
        utiliser les MIT-pthreads mais installer
        LinuxThreads ! See Section 2.8.1, « Notes relatives à Linux (toutes versions) ».
      
        Si votre système ne fournit pas un support natif des threads,
        vous aurez besoin de construire MySQL en utilisant le paquet des
        MIT-pthreads. Cela inclut les anciens
        systèmes FreeBSD, SunOS 4.x, Solaris 2.4 et plus ancien, et
        quelques autres systèmes. See Section 2.1.1, « Systèmes d'exploitation supportés par MySQL ».
      
        Notez qu'à partir de la version 4.0.2 de MySQL les
        MIT-pthreads ne font plus partie de la
        distribution des sources ! si vous avez besoin de ce paquet,
        vous pouvez l'obtenir sur
        http://www.mysql.com/Downloads/Contrib/pthreads-1_60_beta6-mysql.tar.gz
      
        Après l'avoir récupéré, décompressez l'archive dans le
        répertoire racine de votre répertoire des sources de MySQL.
        Cela créera le répertoire mit-pthreads.
      
            Sur la plupart des systèmes, vous pouvez forcer
            l'utilisation des MIT-pthreads en
            exécutant configure avec l'option
            --with-mit-threads :
          
shell> ./configure --with-mit-threads
            La compilation dans un dossier non-sources n'est pas
            supporté lors de l'utilisation des
            MIT-pthreads car nous voulons minimiser
            les changements de leur code.
          
            La vérification pour l'utilisation des
            MIT-pthreads ne survient que durant la
            partie du processus de configuration qui s'occupe du code du
            serveur. Si vous avez configuré la distribution en
            utilisant --without-server pour ne
            construire que le client, les clients ne sauront pas si les
            MIT-pthreads sont utilisés et
            utiliserons les socket Unix pour les connexions par défaut.
            Puisque les sockets Unix ne fonctionnent pas avec les
            MIT-pthreads sur certaines plate-formes,
            cela signifie que vous devrez utiliser -h
            ou --host quand vous exécuterez les
            programmes clients.
          
            Lorsque MySQL est compilé en utilisant les
            MIT-pthreads, le verrouillage système
            est désactivé par défaut pour des soucis de performances.
            Vous pouvez demander au serveur d'utiliser les verrous
            systèmes avec l'option --external-locking.
            Cela n'est requis que si vous avez besoin de faire
            fonctionner deux serveurs MySQL avec les mêmes données
            (non recommandé).
          
            De temps en temps, la commande bind() des
            pthreads n'arrive pas à attacher une socket sans afficher
            d'erreurs (du mois, sous Solaris). Le résultat est que
            toutes les connexions au serveur échouent. Par exemple :
          
shell> mysqladmin version
mysqladmin: connect to server at '' failed;
error: 'Can't connect to mysql server on localhost (146)'
            La solution est de terminer le serveur
            mysqld et de le redémarrer. Cela ne nous
            est arrivé que quand nous avons forcé le serveur à se
            terminer et que nous l'avons redémarré immédiatement
            après.
          
            Avec les MIT-pthreads, l'appel système
            à sleep() ne peut pas être interrompu
            avec SIGINT (break).
            On ne s'en rend compte que quand on exécute
            mysqladmin --sleep. Vous devez attendre
            que l'appel système à sleep() se
            termine avant que le processus ne s'arrête.
          
Lors de la liaison, vous pouvez obtenir des messages d'erreurs comme ceux-ci (du moins sur Solaris); ils peuvent être ignorés :
ld: warning: symbol `_iob' has differing sizes:
    (file /my/local/pthreads/lib/libpthread.a(findfp.o) value=0x4;
file /usr/lib/libc.so value=0x140);
    /my/local/pthreads/lib/libpthread.a(findfp.o) definition taken
ld: warning: symbol `__iob' has differing sizes:
    (file /my/local/pthreads/lib/libpthread.a(findfp.o) value=0x4;
file /usr/lib/libc.so value=0x140);
    /my/local/pthreads/lib/libpthread.a(findfp.o) definition taken
D'autres avertissements peuvent être ignorés :
implicit declaration of function `int strtoll(...)' implicit declaration of function `int strtoul(...)'
            Nous n'avons pas réussi à faire fonctionner
            readline avec les
            MIT-pthreads. (Cela n'est pas
            nécessaire, mais peut être utile à quelqu'un.)
          
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.

