MySQL-5.5.17

Introduction à MySQL

MySQL est un serveur de base de données rapide et largement utilisé. C'est une implémentation client/serveur consistant dans un démon serveur et de nombreux programmes et bibliothèques différents.

Il se peut qu'il existe une version plus récente disponible sur la page d'accueil de MySQL. Vous pouvez regarder http://dev.mysql.com/ et probablement utiliser les instructions BLFS existantes. Remarquez que des versions différentes de celle indiquée aux adresses de téléchargement n'ont pas été testées dans un environnement BLFS.

Ce paquet est connu pour se construire et fonctionner correctement sur une plateforme LFS-7.0.

Informations sur le paquet

Téléchargements supplémentaires

Dépendances de MySQL

Requises

cmake-2.8.6

Recommandées

OpenSSL-1.0.0e

Facultatives

TCP Wrappers-7.6, libaio

Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/mysql

Installation de MySQL

Pour des raisons de sécurité, vous êtes fortement encouragé à exécuter le serveur en tant qu'utilisateur et groupe non privilégiés :

groupadd -g 40 mysql &&
useradd -c "MySQL Server" -d /dev/null -g mysql -s /bin/false -u 40 mysql
[Note]

Note

Il y a énormément d'options disponibles pour ckake. Regardez la sortie de `cmake . -LH` pour des options ce personnalisation supplémentaires. Voir la MySQL Documentation pour une liste complète des options.

Construisez et installez MySQL en lançant les commandes suivantes :

cmake .                                     \
   -DSYSCONFDIR=/etc                           \
   -DMYSQL_DATADIR=/srv/mysql                  \
   -DINSTALL_MYSQLDATADIR=/srv/mysql           \
   -DCMAKE_INSTALL_PREFIX=/usr                 \
   -DINSTALL_BINDIR=bin                        \
   -DINSTALL_SBINDIR=sbin                      \
   -DINSTALL_DOCDIR=share/doc/mysql            \
   -DINSTALL_DOCREADMEDIR=share/doc/mysql      \
   -DINSTALL_INCLUDEDIR=include/mysql          \
   -DINSTALL_INFODIR=share/info                \
   -DINSTALL_LIBDIR=lib                        \
   -DINSTALL_MANDIR=share/man                  \
   -DINSTALL_MYSQLSHAREDIR=share/mysql         \
   -DINSTALL_MYSQLTESTDIR=share/mysql-test     \
   -DINSTALL_PLUGINDIR=lib/plugin              \
   -DINSTALL_SCRIPTDIR=bin                     \
   -DINSTALL_SHAREDIR=share/mysql              \
   -DINSTALL_SQLBENCHDIR=share/mysql-bench     \
   -DINSTALL_SUPPORTFILESDIR=share/mysql/support-files \
   -DWITH_ZLIB=system                          \
   -DWITH_SSL=system                           \
   -DWITH_READLINE=system                      \
   -DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock \
   -DWITH_ARCHIVE_STORAGE_ENGINE=1             \
   -DWITH_FEDERATED_STORAGE_ENGINE=1           \
   -DWITH_BLACKHOLE_STORAGE_ENGINE=1           \
   -DMYSQL_MAINTAINER_MODE=OFF                 \
   -DWITH_DEBUG=OFF                            &&
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]

Note

Il se peut que les tests ssl échouent à cause de certificts expirés.

Maintenant, en tant qu'utilisateur root :

SEGMENTS="Client Server IniFiles ManPages"
SEGMENTS="$SEGMENTS Development Documentation Info Readme"

for segment in $SEGMENTS; do
   cmake -DCMAKE_INSTALL_COMPONENT=$segment -P cmake_install.cmake
done

unset SEGMENTS
[Astuce]

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/.

[Note]

Note

Si vous ne voulez construire ou installer que le client mysql, utilisezqnbsp;:

cmake . &&
make mysqlclient libmysql

Poursuivez, en tant que root :

make install

Explication des commandes

cmake -DCMAKE_INSTALL_COMPONENT=$segment ... : Cette commande installe le bon morceau du paquet. On peut ajouter ou supprimer des segemnts différents en fonction de ce qu'on veut. Les segments valides sont listés avec `make list_install_components`. Remarquez que le segment d'installation 'DataFiles' n'honore pas les déclarations -DMYSQL_DATADIR ou -DINSTALL_MYSQLDATADIR.

Configuration de MySQL

Fichiers de configuration

/etc/my.cnf et ~/.my.cnf

Informations de configuration

Vous pouvez utiliser plusieurs fichiers de configuration sont disponibles dans /usr/share/mysql. Créez /etc/my.cnf en utilisant la commande suivante en tant qu'utilisateur root :

install -v -m644 /usr/share/mysql/support-files/my-medium.cnf /etc/my.cnf

Vous pouvez maintenant installer une base de données et modifier l'appartenance en faveur de l'utilisateur et du groupe non privilégiés (effectuez en tant qu'utilisateur root user) :

mysql_install_db --basedir=/usr --datadir=/srv/mysql --user=mysql &&
chgrp -v mysql /srv/mysql{,/test,/mysql}

La configuration supplémentaire exige que le serveur MySQL soit en fonction. Démarrez le serveur en utilisant les commandes suivantes en tant qu'utilisateur root :

install -v -m755 -o mysql -g mysql -d /var/run/mysql &&
mysqld_safe --user=mysql 2>&1 >/dev/null &

Une installation par défakt n'initialise pas de mot de passe pour l'administrateur, utilisez donc la commande suivante en tant qu'utilisateur root pour en régler un. Remplacez <nouveau-mot-de-passe> par le vôtre.

mysqladmin -u root password <nouveau-mot-de-passe>

La configuration du serveur est maintenant terminée. Éteignez le serveur en utilisant la commande suivante en tant qu'utilisateur root :

mysqladmin -p shutdown

Script de démarrage

Installez le script de démarrage /etc/rc.d/init.d/mysql inclu dans le paquet blfs-bootscripts-20111226 en tant qu'utilisateur root pour démarrer le serveur MySQL au moment du démarrage du système.

make install-mysql

Contenu

Programmes installés: comp_err, innochecksum, msql2mysql, my_print_defaults, myisam_ftdump, myisamchk, myisamlog, myisampack, mysql, mysql_client_test, mysql_config, mysql_convert_table_format, mysql_create_system_tables, mysql_explain_log, mysql_find_rows, mysql_fix_extensions, mysql_fix_privilege_tables, mysql_install_db, mysql_secure_installation, mysql_setpermission, mysql_tableinfo, mysql_tzinfo_to_sql, mysql_waitpid, mysql_zap, mysqlaccess, mysqladmin, mysqlbinlog, mysqlbug, mysqlcheck, mysqld, mysqld_multi, mysqld_safe, mysqldump, mysqldumpslow, mysqlhotcopy, mysqlimport, mysqlmanager, mysqlshow, mysqltest, mysqltestmanager, mysqltestmanager-pwgen, mysqltestmanagerc, perror, replace, resolve_stack_dump, et resolveip
Bibliothèques installées: libdbug.a, libheap.a, libmyisam.a, libmyisammrg.a, libmysqlclient.{so,a}, libmysqlclient_r.{so,a}, libmystrings.a, libmysys.a, et libvio.a
Répertoires installés: /srv/mysql, /usr/include/mysql, /usr/lib/mysql, /usr/share/mysql, et /var/run/mysql

Descriptions courtes

Des descriptions de tous les programmes et de toutes les bibliothèques prendraient plusieurs pages. Consultez plutôt la documentation de mysql.info ou le manuel de référence en ligne sur http://dev.mysql.com/doc/refman/5.1/en/index.html.

Les modules DBI de Perl doivent être installés pour avoir des programmes de support de MySQL pour fonctionner correctement.

Last updated on 2011-11-02 06:08:32 +0100