Dans la famille NT (Windows NT, 2000 ou XP), la méthode
recommandée pour faire fonctionner MySQL est de l'installer
comme service Windows. Windows lance et arrête le serveur
MySQL lorsque le système d'exploitation se lance ou
s'arrête. Un serveur installé comme un service peut aussi
être contrôlé en ligne de commande, avec la commande
NET
, ou avec l'utilitaire graphique
Services
.
L'utilitaire Services
(le gestionnaire
Windows Service Control Manager
) est
disponible dans le panneau d'administration Windows (sous la
section Utilitaires d'administration
sous
Windows 2000). Il est conseillé de fermer l'utilitaire
Services
lorsque vous faites une
installation ou une suppression à partir de la ligne de
commande : cela évite certaines erreurs étranges.
Pour faire fonctionner MySQL avec TCP/IP sous Windows NT 4, vous devez installer le service pack 3 ou plus récent.
Avant d'installer MySQL comme service Windows, vous devez commencer par arrêter le serveur en marche, avec cette commande :
C:\> C:\mysql\bin\mysqladmin -u root shutdown
Elle appelle l'utilitaire MySQL mysqladmin
,
qui se connecte au serveur et l'arrête. La commande se
connecte en tant que root
, qui est le
compte d'administration par défaut. Notez que les
utilisateurs du système de droits MySQL sont totalement
indépendant de ceux de Windows.
Ensuite, installez le serveur comme un service :
C:\> mysqld --install
Si vous avez des problèmes d'installation de
mysqld
en tant que service en utilisant
simplement le nom du serveur, essayez d'utiliser le chemin
complet :
C:\> C:\mysql\bin\mysqld --install
Depuis MySQL 4.0.2, vous pouvez spécifier un nom de service
personnalisé avec l'option --install
. Depuis
MySQL 4.0.3, vous pouvez spécifier en plus l'option
--defaults-file
après le nom du service,
pour indiquer où le serveur doit lire les options au
démarrage. Les règles qui détermine le nom du service et le
fichier d'options à utiliser sont les suivantes :
Si vous ne spécifiez pas de nom de service, le serveur
utilise le nom de service par défaut de MySQL et le
serveur lit les options du groupe
[mysqld]
dans le fichier d'options
standard.
Si vous spécifiez un nom de service après l'option
--install
, le serveur va ignorer le
groupe d'options [mysqld]
et lire les
options dans le groupe du même nom que le nom du service.
Le serveur lit ces options dans le fichier d'options
standard.
Si vous spécifiez une option
--defaults-file
après le nom du service,
le serveur va ignorer les fichiers d'options standard et
ne lire les options que dans le groupe
[mysqld]
.
Note : avant MySQL 4.0.17,
un serveur installé comme service Windows avait des
problèmes à se lancer si le chemin ou le nom du service
contenait des espaces. Pour cette raison, évitez d'installer
MySQL dans un dossier tel que C:\Program
Files
ou avec un nom qui contient des espaces.
Dans le cas général où vous installez le serveur avec
l'option --install
mais sans nom de service,
le serveur est installé sous le nom de MySQL.
Un exemple plus complexe : voyez la commande suivante, qui peut être saisie sur une seule ligne :
C:\> C:\mysql\bin\mysqld --install mysql
--defaults-file=C:\my-opts.cnf
Ici, le nom du service est donné après l'option
--install
. Si aucune option
--defaults-file
n'est donnée, cette commande
aurait pour effet de faire lire au serveur le groupe
[mysql]
dans les fichiers d'options
standard. Cela est une mauvaise idée, car ce groupe d'options
est aussi celui du client mysql
. Cependant,
comme l'option --defaults-file
est présente,
le serveur lit les options uniquement dans le fichier
indiqué, et uniquement dans le groupe d'options
[mysqld]
.
Vous pouvez aussi spécifier les options comme
``Start parameters
'' dans l'utilitaire
Windows Services
avant de lancer le
service.
Une fois que le serveur MySQL est installé, Windows va lancer
automatiquement le service lorsque Windows se lance. Le
service peut aussi être lancé immédiatement depuis
l'utilitaire Services
, ou avec la commande
en ligne NET START MySQL
. La commande
NET
n'est pas sensible à la casse.
Lorsqu'il fonctionne comme un service,
mysqld
n'a pas accès à la console
Windows, et aucune message n'apparaîtra la. Si
mysqld
ne démarre pas, vérifiez dans le
fichier d'erreurs si le serveur a inscrit des messages qui
indiquent la cause du problème. Le fichier d'erreurs est
situé dans le dossier C:\mysql\data
. Il
porte le suffixe .err
.
Lorsque mysqld
fonctionne comme un service,
il peut être stoppé par l'utilitaire
Services
, la commande NET STOP
MySQL
, ou la commande mysqladmin
shutdown
. Si le service fonctionne lors de
l'extinction de Windows, ce dernier va stopper automatiquement
le serveur.
Depuis MySQL 3.23.44, vous avez le choix d'installer le
serveur comme un service Manuel
, si vous ne
voulez pas que le serveur soit lancé automatiquement au
lancement du serveur Windows. Pour cela, utilisez l'option
--install-manual
plutôt que
--install
:
C:\> C:\mysql\bin\mysqld --install-manual
Pour supprimer un serveur qui a été installé comme service,
commencez par l'arrêter s'il fonctionnait. Puis, utilisez
l'option --remove
pour le supprimer :
C:\> C:\mysql\bin\mysqld --remove
Pour les versions MySQL antérieure à la 3.23.49, un
problème avec l'arrêt automatique réside dans le fait que
Windows n'attend que quelques secondes avant l'extinction
complète, et tue les processus si cette limite est
dépassée. C'est la cause de problème potentiels (par
exemple, le moteur InnoDB
devra faire une
restauration de base au prochain redémarrage). Depuis MySQL
3.23.49, Windows attend suffisamment longtemps pour que le
serveur s'arrête. Si vous remarquez que ce n'est pas
suffisant pour votre installation, il est plus prudent de ne
pas faire tourner MySQL comme un service. Au lieu de cela,
lancez-le en ligne de commande, et stoppez-le avec
mysqladmin shutdown
.
L'augmentation du délai d'attente de Windows fonctionne avec
Windows 2000 et XP. Elle ne fonctionne pas pour Windows NT,
où Windows attend 20s l'extinction d'un service. Vous pouvez
augmenter cette valeur par défaut en ouvrant la base de
registres :
\winnt\system32\regedt32.exe
, et en
éditant la valeur de
WaitToKillServiceTimeout
à
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
.
Spécifiez une nouvelle valeur plus grande, exprimée en
millisecondes. Par exemple, la valeur de 120000 indique à
Windows NT d'attendre 2 minutes (120 secondes).
Si vous ne voulez pas lancer mysqld
comme
un service, vous pouvez le lancer en ligne de commande, comme
vous le faites sur les versions qui ne sont pas Windows NT.
Pour des instructions, voyez
Section 2.2.9, « Démarrer MySQL depuis la ligne de commande Windows ».
Voyez Section 2.2.10.1, « Résolution de problèmes d'installation de MySQL sous Windows » si vous rencontrez des difficultés durant l'installation.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.