2.3 Installation de MySQL avec une distribution source
2 Installer MySQL
Manuel de Référence MySQL 4.1 : Version Française
. Installation depuis les sources : présentation ->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 . Compiler les clients MySQL sous Windows
|
2.3.2 Options habituelles de configure
Le script
configure
vous donne un bon moyen de
contrôler la configuration de votre distribution MySQL.
Habituellement, vous faites cela en spécifiant
les options dans la ligne de commande de
configure
.
Vous pouvez aussi affecter le comportement de
configure
en utilisant certaines variables
d'environnement. Variables d'environnement MySQL .
Pour une liste des options supportées par
configure
, exécutez cette commande :
shell> ./configure --help
|
Les options de
configure
les plus utilisées
sont décrites ici :
-
Pour ne compiler que les bibliothèques et programmes clients,
et non le serveur, utilisez l'option
--without-server
:
shell> ./configure --without-server
|
Si vous n'avez pas de compilateur C++,
mysql
ne compilera
pas (c'est le programme client qui requière C++). Dans ce
cas, vous pouvez supprimer la partie de code dans
configure
qui vérifie l'existence d'un compilateur C++, puis
exécuter
./configure
avec l'option
--without-server
. La compilation essaiera encore de construire
mysql
, mais vous pouvez ignorer les messages d'erreurs
concernant
mysql.cc
. (Si
make
stoppe, essayez
make -k
pour dire de continuer même si on
rencontre des erreurs.)
-
Si vous voulez obtenir une bibliothèque MySQL intégrée
(
libmysqld.a
) vous devez utiliser l'option
--with-embedded-server
.
-
Si vous ne voulez pas que vos fichiers de log et bases de
données soient dans
/usr/local/var
, utiliser
une commande
configure
se rapprochant de l'une
des commandes suivantes :
shell> ./configure --prefix=/usr/local/mysql shell> ./configure --prefix=/usr/local \ --localstatedir=/usr/local/mysql/data
|
La première change le préfixe de l'installation
pour que tout soit installé dans
/usr/local/mysql
au lieu de
/usr/local
par défaut. La seconde commande
préserve le préfixe d'installation par défaut
mais change le répertoire par défaut pour les bases
de données (normalement
/usr/local/var
) en
/usr/local/mysql/data
.
Après que vous ayez compilé MySQL, vous pouvez changer
ces options dans les fichiers d'options. Utiliser les fichiers d'options .
-
Si vous utilisez Unix et que vous voulez que la socket de MySQL
soit à un autre endroit que celui par défaut
(normalement
/tmp
ou
/var/run
) utilisez une commande
configure
comme celle-ci :
shell> ./configure \ --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
|
Notez que le fichier donné doit avoir un chemin absolu !
Vous pourrez aussi changer le chemin vers
mysql.sock
plus tard
en utilisant les fichiers d'options de MySQL.
Comment protéger
/tmp/mysql.sock
.
-
Si vous voulez compiler des programmes liés statiquement (par exemple,
pour créer une distribution binaire, pour obtenir plus de vitesse,
ou pour résoudre des problèmes avec quelques distributions RedHat
Linux), exécutez
configure
de la manière suivante :
shell> ./configure --with-client-ldflags=-all-static \ --with-mysqld-ldflags=-all-static
|
-
Si vous utilisez
gcc
et n'avez pas
libg++
ou
libstdc++
d'installés, vous pouvez dire à
configure
d'utiliser
gcc
en tant que compilateur C++ :
shell> CC=gcc CXX=gcc ./configure
|
Quand vous utilisez
gcc
en tant que compilateur C++, aucune
tentative de liaison avec
libg++
ou
libstdc++
ne sera
effectuée. Il peut être bon d'utiliser cette méthode même si vous
avez les bibliothèques citées, car quelques versions de celles-ci ont
causé des problèmes à des utilisateurs MySQL par le passé.Voici quelques variables d'environnement à définir selon le compilateur
que vous utilisez :
Dans la plupart des cas, vous pouvez obtenir un binaire MySQL raisonnablement
optimal en utilisant les options de la table précédente et en ajoutant
les options suivantes aux lignes de configuration :
--prefix=/usr/local/mysql --enable-assembler \ --with-mysqld-ldflags=-all-static
|
En d'autres termes, la ligne de configuration ressemble à ce qui suit
pour les versions récentes de gcc :
CFLAGS="-O3 -mpentiumpro" CXX=gcc CXXFLAGS="-O3 -mpentiumpro \ -felide-constructors -fno-exceptions -fno-rtti" ./configure \ --prefix=/usr/local/mysql --enable-assembler \ --with-mysqld-ldflags=-all-static
|
Les binaires que nous fournissons sur le site de MySQL à
http://www.mysql.com/ sont tous compilés avec une
optimisation totale et devraient être parfaits pour la plupart
des utilisateurs. Les compiliations de MySQL par MySQL AB . Il y a quelques choses
que vous pouvez modifier pour rendre le binaire encore plus
rapide, mais cela est réservé aux utilisateurs avancés.
Comment la compilation et les liaisons affectent la vitesse de MySQL .Si la génération échoue et produit des erreurs disant que votre
compilateur ou outil de liaison n'est pas capable de créer la
bibliothèque partagée
libmysqlclient.so.#
(
'#'
étant un
numéro de version), vous pouvez contourner ce problème en donnant
l'option
--disable-shared
à
configure
. Dans ce cas,
configure
ne générera pas de bibliothèque partagée
libmysqlclient.so.#
.
-
Vous pouvez configurer MySQL pour qu'il n'utilise pas les valeurs
DEFAULT
pour les colonnes non-
NULL
(c'est à dire, les
colonnes qui ne peuvent être
NULL
). Contrainte avec
NOT NULL
et
DEFAULT
.
shell> CXXFLAGS=-DDONT_USE_DEFAULT_FIELDS ./configure
|
-
Par défaut, MySQL utilise le jeu de caractères ISO-8859-1 (Latin1).
Pour changer le jeu par défaut, utilisez l'option
--with-charset
:
shell> ./configure --with-charset=CHARSET
|
CHARSET
peut être l'un des
big5
,
cp1251
,
cp1257
,
czech
,
danish
,
dec8
,
dos
,
euc_kr
,
gb2312
,
gbk
,
german1
,
hebrew
,
hp8
,
hungarian
,
koi8_ru
,
koi8_ukr
,
latin1
,
latin2
,
sjis
,
swe7
,
tis620
,
ujis
,
usa7
, ou
win1251ukr
.
Le jeu de caractères utilisé pour les données et le stockage .
Depuis MySQL 4.1.1, la collation par défaut peut aussi être spécifiée.
MySQL utilise la collation
latin1_swedish_ci
. Pour le changer,
utilisez l'option
--with-collation
:
shell> ./configure --with-collation=COLLATION
|
Pour changer le jeu de caractères et la collation, utilisez les options
--with-charset
et
--with-collation
. La collation doit être
valide pour le jeu de caractères spécifié. Utilisez la commande
SHOW COLLATION
pour déterminer les collations valides pour un
jeu de caractères donné.
Si vous voulez convertir les caractères entre le serveur et le client,
regardez du côté de la commande
SET CHARACTER SET
.
Syntaxe de
SET
.
Attention
: Si vous changez les jeux de caractères après
avoir crée des tables, vous devrez exécuter
myisamchk -r -q --set-character-set=charset
sur chaque table.
Vos index pourraient être stockés de manière incorrecte sinon.
(Cela peut survenir si vous installez MySQL, créez quelques tables,
puis reconfigurez MySQL pour qu'il utilise un jeu de caractères différent
et le réinstallez.)
Avec l'option
--with-extra-charsets=LIST
vous pouvez définir
les jeux de caractères additionnels à compiler dans le serveur.
Ici
LIST
est soit une liste de jeux de caractères séparés par
des espaces, soit
complex
pour inclure tous les jeux de caractères
ne pouvant être chargés dynamiquement, ou encore
all
pour inclure
tous les jeux de caractères dans les binaires.
-
Pour configurer MySQL avec le code de débogage, utilisez l'option
--with-debug
:
shell> ./configure --with-debug
|
Cela alloue un vérificateur d'allocation de mémoire qui peut trouver quelques
erreurs et qui fournit des informations sur ce qui se produit.
Déboguer un serveur MySQL .
-
Si vos programmes clients utilisent les threads, vous avez besoin de compiler
une version sûre pour les threads de la bibliothèque du client MySQL avec
l'option de configuration
--enable-thread-safe-client
. Cela créera
une bibliothèque
libmysqlclient_r
avec laquelle vous devez lier vos
applications threadées. Comment programmer une client threadé .
-
Les options relatives à un système d'exploitation particulier peuvent
être trouvées dans la section spécifique aux systèmes de ce manuel.
Remarques spécifiques aux systèmes d'exploitation .
|