Notes spécifiques aux systèmes d'exploitation
<<<
Notes relatives à FreeBSD Notes concernant NetBSD
>>>

2.6.4 Notes relatives à BSD
2.6 Notes spécifiques aux systèmes d'exploitation
2 Installer MySQL
 Manuel de Référence MySQL 4.1 : Version Française

->Notes relatives à FreeBSD
Notes concernant NetBSD
Notes relatives à OpenBSD 2.5
Notes relatives à OpenBSD 2.8
Notes relatives aux versions 2.x de BSD/OS
Notes relatives aux versions 3.x de BSD/OS
Notes relatives aux versions 4.x de BSD/OS

2.6.4.1 Notes relatives à FreeBSD

FreeBSD 4.x est recommandé pour exécuter MySQL vu que le paquet des threads est plus intégré.

La façon la plus facile et la plus conseillée d'installer est d'utiliser les ports du serveur et du client MySQL disponibles sur http://www.freebsd.org/ .Les utiliser vous donnera :
  • Un MySQL fonctionnant avec toutes les optimisations connues pour votre version active de FreeBSD.
  • Configuration et construction automatique.
  • Scripts de démarrage installés dans /usr/local/etc/rc.d .
  • La possibilité de voir tous les fichiers installés avec pkg_info -L .
  • La possibilité de les effacer tous avec pkg_delete si vous ne voulez plus de MySQL sur cette machine.
Il est recommandé d'utiliser les MIT-pthreads sur FreeBSD 2.x et les threads natifs sur les versions 3 et plus. Il est possible de faire fonctionner le tout avec les threads natifs sur les dernières versions 2.2.x mais vous rencontrerez probablement des problèmes en coupant mysqld .

Malheureusement, certains appels systèmes sur FreeBSD ne sont pas encore totalement compatibles avec les threads. Le cas le plus notable est la fonction gethostbyname() qui est utilisée par MySQL pour convertir des noms d'hôtes en adresse IP. Dans certaines circonstances, le processus mysqld va soudainement prendre 100% du processeur, et ne plus répondre. Si vous rencontrez cette situation, essayez de relancer MySQL avec l'option --skip-name-resolve .

Alternativement, vous pouvez compiler MySQL sur FreeBSD 4.x avec la bibliothèque LinuxThreads , qui évite les quelques problèmes que l'implémentation thread native de FreeBSD a. Pour une bonne comparaison entre LinuxThreads et les threads natifs, voyez l'article de Jeremy Zawodny FreeBSD or Linux for your MySQL Server? à http://jeremy.zawodny.com/blog/archives/000697.html .

Un problème connu lors de l'utilisation des LinuxThreads sur FreeBSD est que wait_timeout ne fonctionne pas (probablement un problème de gestion des signaux sous FreeBSD/ LinuxThreads ). Cela devrait être corrigé en FreeBSD 5.0. Le symptôme est que les connexions persistantes vont rester à bloquées très longtemps sans se refermer.

Le processus de compilation de MySQL requiert GNU make ( gmake ) pour fonctionner. Si vous voulez compiler MySQL vous devez d'abord installer GNU make .

La méthode recommandée pour compiler et installer MySQL sur FreeBSD avec gcc (2.95.2 et plus récent) est :


CC=gcc CFLAGS="-O2 -fno-strength-reduce" \
    CXX=gcc CXXFLAGS="-O2 -fno-rtti -fno-exceptions \
    -felide-constructors -fno-strength-reduce" \
    ./configure --prefix=/usr/local/mysql --enable-assembler
gmake
gmake install
cd /usr/local/mysql
bin/mysql_install_db --user=mysql
bin/mysqld_safe &
Si vous remarquez que configure va utiliser MIT-pthreads , il faut alors lire les notes MIT-pthreads . Remarques sur MIT-pthreads .

Si vous avez une erreur durant make install qui dit qu'il ne peut trouver /usr/include/pthreads , configure n'a pas détecté l'absence de MIT-pthreads . Pour corriger le problème, supprimez config.cache , puis relancez configure avec l'option --with-mit-threads .

Assurez-vous que votre configuration de la résolution des noms est bonne. Sinon, vous airez peut-être quelques problèmes lors de la connexion à mysqld . Assurez-vous que l'entrée localhost dans le fichier /etc/hosts est correcte (sinon, vous aurez des problèmes pour vous connecter à la base de données). Le fichier doit commencer par une ligne similaire à :

127.0.0.1       localhost localhost.votre.domaine
FreeBSD est aussi connu pour avoir une petite limite de gestionnaires de fichiers par défaut. Fichier non trouvé . Décommentez la section ulimit -n dans safe_mysqld ou enlevez la limite pour l'utilisateur mysqld dans /etc/login.conf (et regénèrez le avec cap_mkdb). Assurez-vous aussi de définir la classe appropriée pour cet utilisateur dans le fichier des mots de passe si vous n'utilisez pas celui par défaut. (utilisez : chpass nom-utilisateur-mysqld). safe_mysqld , le script père de mysqld .Si vous avez beaucoup de mémoire, vous devriez penser à recompiler le noyau pour permettre à MySQL d'utiliser plus de 512 Mo de RAM. Regardez l' option MAXDSIZ dans le fichier de configuration de LINT pour plus d'informations.

Si vous avez des problèmes avec la date courante dans MySQL, configurer la variable d'environnement TZ aidera sûrement. Variables d'environnement MySQL .

Pour obtenir un système sécurisé et stable, vous ne devez utiliser que les noyaux FreeBSD marqués -RELEASE .

<< Notes relatives à FreeBSD >>
Notes spécifiques aux systèmes d'exploitation Notes relatives à BSD Notes concernant NetBSD