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
. See
Section 2.4.5, « Notes relatives aux 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. See
Section A.2.17, « 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). See
Section 5.1.3, « 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. See Annexe E, Variables d'environnement.
Pour obtenir un système sécurisé et stable, vous ne devez
utiliser que les noyaux FreeBSD marqués
-RELEASE
.
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.