Sommaire 27 Historique des changements MySQL
2.4 Procédure de post−installation
2.4.2 Procédures de post−installation sous Un
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 : 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.
•
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.
Le script mysql.server
peut servir à démarrer ou arrêter le serveur en l'appelant avec les arguments start
ou stop
:
shell> mysql.server start shell> mysql.server 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.
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 :
shell> cp mysql.server /etc/init.d/mysql shell> chmod +x /etc/init.d/mysql
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> cd /etc
shell> ln −s rc.d/init.d .
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> chkconfig −−add mysql
Sur certains systèmes Linux, les commandes suivantes sont aussi nécessaires pour activer totalement le script mysql
:
shell> chkconfig −−level 345 mysql on
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.
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 :
/bin/sh −c 'cd /usr/local/mysql; ./bin/mysqld_safe −−user=mysql &'
Pour les autres systèmes, consultez la documentation de votre système d'exploitation pour savoir comment installer un script de démarrage.
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 :
[mysqld] datadir=/usr/local/mysql/var socket=/var/tmp/mysql.sock port=3306 user=mysql [mysql.server] basedir=/usr/local/mysql 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
.
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 .