MySQL-5.5.28

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.

Ce paquet est connu pour se construire correctement sur une plateforme LFS-7.2.

Informations sur le paquet

  • Téléchargement (HTTP) : http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.28.tar.gz

  • Somme de contrôle MD5 du téléchargement : da8ddb3d00e6e159153d2444360f52a8

  • Taille du téléchargement : 24 Mo

  • Estimation de l'espace disque requis : 932 Mo (additional 170 Mo to run the test suite)

  • Estimation du temps de construction : 4.0 SBU (Test suite is an additional 45 minutes, only partially CPU dependent)

Téléchargements supplémentaires

Dépendances de MySQL

Requises

cmake-2.8.9

Recommandées

OpenSSL-1.0.1c

Facultatives

libaio

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

Installation de MySQL

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]

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]

Note

Si vous avez construit la bibliothèque serveur embarquée, ajoutez Embedded à la variable SEGMENTS ci-dessus.

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

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

Explication des commandes

-DWITH_<engine>_STORAGE_ENGINE=ON : Les instructions par défaut ne construisent que le moteur de stockage innobase (InnoDB). Si vous désirez d'autres moteurs de stockage, utilisez ce paramètre pour les activer. Les choix valides sont ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE, NDBCLUSTER, PARTITION et PERFSCHEMA.

-DWITHOUT_SERVER=ON : Utilisez ce paramètre si vous ne voulez pas le serveur et si vous ne voulez construire que le client.

-DWITH_EMBEDDED_SERVER=ON : Utilisez ce paramètre pour construire la bibliothèque serveur embarquée.

-DWITH_SSL=system : Utilisez ce paramètre pour construire contre une version de SSL du système.

cmake -DCMAKE_INSTALL_COMPONENT=$segment ... : Cette commane installe la partie adéquate du paquet. Vous pouvez ajouter ou supprimer différents segments comme vous le voulez. Les segments valides sont listés `make list_install_components`. Remarquez que le segmentation d'installation 'DataFiles' n'accepte pas les déclarations -DMYSQL_DATADIR ou -DINSTALL_MYSQLDATADIR et il installe les fichiers de données dans /usr/data.

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. Quand vous créez le fichier, assurez vous que les journaux binaires sont désactivés à moins que vous fassiez une copie de la base de données. Créez /etc/my.cnf en utilisant la commande suivante en tant qu'utilisateur root :

install -v -m644 /usr/share/mysql/support/my-medium.cnf /etc/my.cnf
sed -i 's/^log-bin/#log-bin/' /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éfaut 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-20120828 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: innochecksum, msql2mysql, my_print_defaults, myisam_ftdump, myisamchk, myisamlog, myisampack, mysql, mysql_client_test, mysql_config, mysql_convert_table_format, mysql_find_rows, mysql_fix_extensions, mysql_install_db, mysql_plugin, mysql_secure_installation, mysql_setpermission, mysql_tzinfo_to_sql, mysql_upgrade, mysql_waitpid, mysql_zap, mysqlaccess, mysqladmin, mysqlbinlog, mysqlbug, mysqlcheck, mysqld, mysqld_multi, mysqld_safe, mysqldump, mysqldumpslow, mysqlhotcopy, mysqlimport, mysqlshow, mysqlslap, mysqltest, perror, replace, resolve_stack_dump et resolveip
Bibliothèques installées: libmysqlclient.{so,a}, libmysqlclient_r.{so,a}, libmysqlservices.a et plusieurs dans /usr/lib/mysql
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.5/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 : 2012-09-09 04:44:43 +020