• Aucun résultat trouvé

Sommaire 27 Historique des changements MySQL

2.2 Installation standard rapide de MySQL

2.2.1 Installer MySQL sous Windows

2.2.1.7 Lancer MySQL comme un service Windows

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 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 server 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 version 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 version 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 Lancer MySQL en ligne de commande Windows .