Services webmasters
Partenaires
Jeux concours gratuits
 
Problèmes de compilation?
<<<
Notes relatives aux MIT-pthreads La distribution source Windows
>>>

2.3 Installer MySQL à partir des sources
2 Installation de MySQL
 Manuel de Référence MySQL 4.1 : Version Française

Vue d'ensemble de l'installation rapide
Appliquer des patches
Options habituelles de configure
Installer à partir de l'arbre source de développement
Problèmes de compilation?
->Notes relatives aux MIT-pthreads
La distribution source Windows

2.3.6 Notes relatives aux MIT-pthreads

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 ! Notes relatives à Linux (toutes les versions de Linux) .

Si votre système ne fournit pas un support natif des threads, vous aurez besoin de construire MySQL en utilisant le package des MIT-pthreads. Cela inclut les anciens systèmes FreeBSD, SunOS 4.x, Solaris 2.4 et plus ancien, et quelques autres systèmes. 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 package, 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() n'est pas interruptible 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.)

<< Notes relatives aux MIT-pthreads >>
Problèmes de compilation? Installer MySQL à partir des sources La distribution source Windows
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -