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 package 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. Et 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 .

Les problèmes connus lors de l'utilisation des LinuxThreads sur FreeBSD sont :
  • 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 Makefile de MySQL requière GNU make ( gmake ) pour fonctionner. Si vous voulez compiler MySQL vous devez d'abord installer GNU make .

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 /etc/hosts doit commencer par :

127.0.0.1       localhost localhost.votre.domaine
La manière recommandée de compiler et d'installer MySQL sur FreeBSD avec gcc (2.95.2 et plus) 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
./scripts/mysql_install_db
cd /usr/local/mysql
./bin/mysqld_safe &
Si vous vous apercevez que configure utilisera les MIT-pthreads, vous devriez lire les notes relatives aux MIT-pthreads. Remarques sur MIT-pthreads .

Si vous obtenez une erreur de make install disant qu'il ne peut trouver /usr/include/pthreads , configure n'a pas détecté que vous avez besoin des MIT-pthreads. Cela est corrigé en exécutant ces commandes :


shell> rm config.cache
shell> ./configure --with-mit-threads
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 512M 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