Construction
Pour des raisons de sécurité, vous êtes fortement encouragé à
exécuter le serveur en tant qu'utilisateur et groupe non
privilégiés. Lancez ce qui suit (en tant qu'utilisateur
root
) pour créer l'utilisateur et
le groupe :
groupadd -g 40 mysql &&
useradd -c "MySQL Server" -d /dev/null -g mysql -s /bin/false -u 40 mysql
Si le serveur MySQL n'est pas nécessaire, il est possible de ne
construire que les bibliothèques clients de MySQL. Pour cela,
vous devez appliquer le correctif facultatif, utilisez l'option
-DWITHOUT_SERVER=ON
de
cmake et les instructions d'installation du client-seulement
ci-dessous.
MySQL contient une bibliothèque serveur embarquée qui peut être
activée par l'option -DWITH_EMBEDDED_SERVER=ON
de cmake.
Par défaut, ce serveur est construit comme bibliothèque liée de
façon statique, libmysqld.a
, mais
en appliquant le correctif facultatif, on peut construire une
version partagée de cette bibliothèque. La bibliothèque partagée
est nécessaire pour certaines applications, telles que
Amarok.
Beaucoup d'options sont disponibles avec cmake
. Vérifiez la sortie de
`cmake . -LH
`
pour des options supplémentaires de personnalisation. Voir la
Documentation MySQL pour une liste complète des options.
Si vous voulez la version partagée de la bibliothèque serveur
embarquée, appliquez le correctif :
patch -Np1 -i ../mysql-5.5.28-embedded_library_shared-1.patch
Si vous ne construisez que le client, appliquez le
correctif :
patch -Np1 -i ../mysql-5.5.28-fix_client_only-1.patch
Configurez et construisez MySQL
en lançant les commandes suivantes :
mkdir build &&
cd build &&
cmake -DCMAKE_INSTALL_PREFIX=/usr -DINSTALL_DOCDIR=share/doc/mysql -DINSTALL_DOCREADMEDIR=share/doc/mysql -DINSTALL_INCLUDEDIR=include/mysql -DINSTALL_INFODIR=share/info -DINSTALL_MANDIR=share/man -DINSTALL_MYSQLDATADIR=/srv/mysql -DINSTALL_MYSQLSHAREDIR=share/mysql -DINSTALL_MYSQLTESTDIR=share/mysql/test -DINSTALL_PLUGINDIR=lib/mysql -DINSTALL_SBINDIR=sbin -DINSTALL_SCRIPTDIR=bin -DINSTALL_SQLBENCHDIR=share/mysql/bench -DINSTALL_SUPPORTFILESDIR=share/mysql/support -DMYSQL_DATADIR=/srv/mysql -DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock -DSYSCONFDIR=/etc -DWITH_PARTITION_STORAGE_ENGINE=OFF -DWITH_PERFSCHEMA_STORAGE_ENGINE=OFF -DWITH_READLINE=system -DWITH_SSL=system .. &&
make
Pour tester les résultats, lancez : make test-force 2>&1 | tee
test.log.Cela force le test à lancer au départ le
log de toutes les sorties de tests. Il y a beaucoup de tests qui
ne sont pas lancés a cause des options de configuraton et de
considérations des programmeurs. Remarquez que si vous utilisez
TCP Wreappers et avez un /etc/hosts.deny
restreint, vous devrez ajouter
une entrée adéquate au fichier /etc/hosts.allow
pour le démon mysqld. Sans cela, beaucoup de
tests échoueront.
Note
Il se peut que les tests SSL échouent à cause de certificts
expirés.
Installation (serveur et client)
Pour installer le serveur et le client, lancez la commande
suivante (en tant qu'utilisateur root
) :
SEGMENTS="Client Server IniFiles ManPages SharedLibraries"
SEGMENTS="$SEGMENTS Development Documentation Info Readme"
for segment in $SEGMENTS; do
cmake -DCMAKE_INSTALL_COMPONENT=$segment -P cmake_install.cmake
done
unset SEGMENTS
Note
Si vous avez construit la bibliothèque serveur embarquée,
ajoutez Embedded
à la variable
SEGMENTS
ci-dessus.
Astuce
La seule documentation incluse dans l'archive tar des sources
est dans des fichiers mysql.info
et dans les man pages. Vous pouvez télécharger différents
formats du manuel de référence de MySQL sur http://dev.mysql.com/doc/.
Installation (client seulement)
Si vous voulez n'installer que le logiciel client, lancez ce qui
suit (en tant qu'utilisateur root
) :
SEGMENTS="Client ManPages SharedLibraries"
SEGMENTS="$SEGMENTS Development Documentation Info Readme"
for segment in $SEGMENTS; do
cmake -DCMAKE_INSTALL_COMPONENT=$segment -P cmake_install.cmake
done
unset SEGMENTS