| 2.4.2 Procédures de post-installation sous Unix
 2.4 Procédure de post-installation
 2 Installer MySQL
 Manuel de Référence MySQL 4.1 : Version Française
 
 . Problèmes d'exécution de mysql_install_db
 ->Lancer et arrêter MySQL automatiquement
 . Problèmes de démarrage du serveur MySQL
 
 
 | 
  2.4.2.2 Lancer et arrêter MySQL automatiquement    
 
Généralement, vous démarrez le serveur  
mysqld
  
par l'un de ces moyens : 
 
Les scripts  
mysql.server
  et  
safe_mysqld
  et le  
StartUp Item
  
de  
Mac OS X
  peuvent être utilisés
pour démarrer le serveur automatiquement au moment du démarrage du serveur.
 
mysql.server
  peut aussi servir à arrêter le serveur.
En appelant  
mysqld
  directement. Cela fonctionne
sur toutes les plates-formes.
En lançant le serveur MySQL comme un service Windows.
Cela fonctionne sur les versions de Windows qui supportent les
services : comme Windows NT, 2000 et XP. Le service peut être configuré
pour démarrer automatiquement au lancement de Windows, ou manuellement,
à la demande.
Pour des instructions, reportez vous à  Lancer MySQL comme un service Windows .
En appelant  
mysqld_safe
 , qui essaie de déterminer les
options correctes avant de lancer  
mysqld
 .  Ce script
est utilisé sur les systèmes Unix BSD. Il est aussi appelé 
par  
mysql.server
 .
 
safe_mysqld
, le script père de 
mysqld
 .
En appelant  
mysql.server
 . Ce script sert principalement au moment du
démarrage et de l'extinction du système, sur les systèmes qui utilisent un
dossier de processus programmés System V, où il est généralement enregistré
sous le nom de  
mysql
 . 
Le script 
mysql.server
  lance le serveur en appelant  
mysqld_safe
 .
 Le script de démarrage 
mysql.server
 .
Sur Mac OS X, vous pouvez installer un paquet indépendant appelé  
MySQL Startup Item
 
pour activer le lancement automatique de MySQL au démarrage. Le
 
Startup Item
  lance le serveur en appelant  
mysql.server
 .
Voir  Installer MySQL sous Mac OS X  pour plus de détails. 
Le script  
mysql.server
  peut servir à démarrer ou arrêter le serveur
en l'appelant avec les arguments  
start
  ou  
stop
  :
 Avant que  
mysql.server
  ne démarre le serveur, il change de dossier
pour aller dans le dossier d'installation et appelle  
safe_mysqld
 .
Si vous voulez que le serveur fonctionne sous un nom d'utilisateur spécifique,
ajoutez l'option  
user
  appropriée dans le groupe  
[mysqld]
  du fichier
 
/etc/my.cnf
 , tel que présenté ultérieurement dans cette section
(il est possible que vous ayez besoin d'éditer  
mysql.server
 ).
Vous pourriez avoir à éditer  
mysql.server
  si vous avez une installation
binaire dans une situation non standard. Modifiez la commande  
cd
 
avec le dossier correct, avant qu'il n'exécute  
safe_mysqld
 . Si vous voulez
que le serveur fonctionne avec un utilisateur spécifique, ajouter l'option
 
user
  appropriée dans le fichier  
/etc/my.cnf
 , tel que présenté
ultérieurement dans cette section.| 
shell> mysql.server startshell> mysql.server stop
 | 
 
mysql.server stop
  arrête le serveur en lui envoyant un signal. Vous
pouvez éteindre le serveur manuellement avec la commande  
mysqladmin shutdown
 .
Pour lancer et arrêter automatiquement MYSQL sur votre serveur, vous devez ajouter 
les commandes de lancement et d'arrêt dans les bons endroits de vos fichiers  
/etc/rc*
 . 
Notez que si vous utilisez des paquets Linux  
RPM
 
( 
MySQL-server-VERSION.rpm
 ), le script  
mysql.server
  est installé sous 
le nom  
/etc/init.d/mysql
 . Vous n'avez pas à l'installer manuellement. Voyez 
 Installer MySQL sous Linux  pour plus d'informations sur les paquets Linux  
RPM
 .
Certaines éditeurs fournissent des paquets  
RPM
  qui installent un script de 
démarrage sous un autre nom, comme  
mysqld
 . 
Si vous installez MySQL depuis une distribution source, ou en utilisant
une distribution binaire qui n'installe pas automatiquement le script 
 
mysql.server
 , vous pouvez l'installer manuellement. Le script est disponible
dans le dossier  
support-files
  du dossier d'installation MySQL, ou dans le 
dossier source de MySQL.
Pour installer  
mysql.server
  manuellement, copiez le dans le dossier  
/etc/init.d
 
sous le nom  
mysql
 , puis rendez-le exécutable. Pour cela, placez vous dans 
le dossier où  
mysql.server
  est stocké, et utilisez ces commandes : Les anciens systèmes Red Hat utilisent le dossier  
/etc/rc.d/init.d
  plutôt que
 
/etc/init.d
 . Adaptez les commandes précédentes. Alternativement, créez un lien
symbolique  
/etc/init.d
  qui pointe sur  
/etc/rc.d/init.d
  :| 
shell> cp mysql.server /etc/init.d/mysqlshell> chmod +x /etc/init.d/mysql
 | 
 Après installation du script, les commandes doivent être activées pour fonctionner
au lancement du système, sur votre système d'exploitation. Sous Linux, vous
pouvez utiliser  
chkconfig
  :| 
shell> cd /etcshell> ln -s rc.d/init.d .
 | 
 Sur certains systèmes Linux, les commandes suivantes sont aussi nécessaires pour 
activer totalement le script  
mysql
  :| 
shell> chkconfig --add mysql
 | 
 Sous FreeBSD, les scripts de démarrage vont généralement dans le dossier
 
/usr/local/etc/rc.d/
 . La page de manuel  
rc(8)
  indique que les scripts
de ce dossier ne sont exécutés que si leur nom est de la forme
 
*.sh
 . Tout autre fichier de ce dossier sera alors ignoré. En d'autres termes,
vous devez installer le script  
mysql.server
  sous le nom
 
/usr/local/etc/rc.d/mysql.server.sh
  pour activer le démarrage automatique.| 
shell> chkconfig --level 345 mysql on
 | 
 
Alternativement à la configuration précédente, certains systèmes d'exploitation
utilisent aussi  
/etc/rc.local
  ou  
/etc/init.d/boot.local
  pour lancer des
services supplémentaires au démarrage. Pour lancer MySQL avec cette méthode,
vous pouvez ajouter une commande comme celle-ci au fichier de démarrage : 
 Pour les autres systèmes, consultez la documentation de votre système d'exploitation
pour savoir comment installer un script de démarrage.| 
/bin/sh -c 'cd /usr/local/mysql; ./bin/mysqld_safe --user=mysql &'
 | 
  
Vous pouvez aussi ajouter des options à  
mysql.server
  via le fichier global
 
/etc/my.cnf
  file. Un fichier  
/etc/my.cnf
  typique peut ressembler
à ceci : 
 Le script  
mysql.server
  comprend les options suivantes : 
 
basedir
 ,  
datadir
  et   
pid-file
 . Si spécifiées, elles
 
doivent
  être placées dans un fichier d'option, et non pas en ligne de commande.
 
mysql.server
  comprend les options de ligne de commande  
start
  et  
stop
 .| 
[mysqld]datadir=/usr/local/mysql/var
 socket=/var/tmp/mysql.sock
 port=3306
 user=mysql
 
 [mysql.server]
 basedir=/usr/local/mysql
 | 
 
La table suivante montre quels groupes d'options chaque scripts de démarrage
utilise : 
 
| Script | Groupe d'options |  
| mysqld | mysqld
 et 
server |  
| mysql.server | mysql.server
, 
mysqld
, et 
server |  
| safe_mysqld | mysql.server
, 
mysqld
, et 
server |  
[mysqld-major-version]
  signifie que des groupes ayant des noms tels que
 
[mysqld-4.0]
 ,  
[mysqld-4.1]
 , et  
[mysqld-5.0]
  seront lus par les
serveurs de versions 4.0.x, 4.1.x, 5.0.x, etc. Cette fonctionnalité a été ajoutée en 
MySQL 4.0.14. Elle sert à spécifier des options qui ne seront lues que par des serveurs
dont les versions sauront les comprendre.
A des fins de compatibilité ascendante,  
mysql.server
  lit aussi
le groupe d'options  
[mysql_server]
  et  
mysqld_safe
  lit
le groupe d'options  
[safe_mysqld]
 . Cependant, il est recommandé
de modifier vos fichiers de configuration pour utiliser 
les groupes  
[mysql.server]
  et  
[mysqld_safe]
  à la place. Utiliser les fichiers d'options .
 |