Lancer plusieurs serveurs depuis la console
<<<
Lancer plusieurs serveurs comme services Windows Faire fonctionner plusieurs serveurs MySQL sur la même machine
>>>

5.9.1 Utiliser plusieurs serveurs MySQL un serveur Windows
5.9 Faire fonctionner plusieurs serveurs MySQL sur la même machine
5 Administration du serveur
 Manuel de Référence MySQL 4.1 : Version Française

Lancer plusieurs serveurs depuis la console
->Lancer plusieurs serveurs comme services Windows

5.9.1.2 Lancer plusieurs serveurs comme services Windows

Sur les systèmes NT, MySQL peut fonctionner comme un service Windows. Les procédures pour installer, contrôler et supprimer un service MySQL sont décrites dans la section Lancer MySQL comme un service Windows .

Depuis MySQL 4.0.2, vous pouvez installer plusieurs serveurs sous forme de plusieurs services. Dans ce cas, vous devez vous assurer que chaque serveur utilise un nom de service différente, en plus de tous les autres paramètres qui doivent être uniques pour chaque instance.

Pour les instructions suivantes, supposez que vous vouez utiliser le serveur mysqld-nt avec différentes versions de MySQL, qui sont installées dans les dossiers C:\mysql-4.0.8 et C:\mysql-4.0.17 , respectivement. Cela peut être le cas si vous utilisez la version 4.0.8 comme serveur de production, mais que vous voulez tester la version 4.0.17 avant de l'utiliser.

Les règles suivantes sont applicables lors de l'installation d'un service MYSQL avec l'option --install :

  • Si vous ne spécifiez aucun nom de service, le serveur utilise le nom de service par défaut de MySQL et le serveur lit les options dans le groupe [mysqld] , du groupe de fichiers d'options standard.
  • Si vous spécifiez un nom de service après l'option --install , le serveur va ignorer le group d'options [mysqld] et lire les options dans le groupe qui a le même nom que le service. Les options seront lues dans le fichier d'options standard.
  • Si vous spécifiez --defaults-file après un nom de service, le serveur va ignorer le fichier d'options standard, et lire les options dans le groupe [mysqld] du fichier ainsi nommé.
Note : avant MySQL 4.0.17, seul le serveur utilisant le nom de service par défaut ( MySQL ) ou un service installé explicitement avec le nom de mysqld lira le groupe d'options [mysqld] dans le fichier d'options. Depuis 4.0.17, tous les serveurs lisent le groupe [mysqld] s'ils lisent dans le fichier d'options standard, même si ils ont été installé avec un autre nom de service. Cela permet d'utiliser le groupe [mysqld] pour des options qui doivent être utilisées par tous les services MySQL, et un groupe d'options pour chaque service sera utilisé individuellement par chaque service.

En se basant sur les informations précédentes, vous avez plusieurs moyens pour installer des services Windows multiples. Les instructions suivantes décrivent certaines situations. Avant de tous les essayer, assurez vous de bien éteindre et supprimer tous les services MySQL existant.

  • Approche 1 : Spécifiez les options de tous les services dans un fichier d'options. Pour cela, utilisez différent noms de services pour chaque serveur. Supposons que vous vouliez utiliser mysqld-nt 4.0.8 sous le nom de mysqld1 et le mysqld-nt 4.0.17 sous le nom de mysqld2 . Dans ce cas, vous pouvez utiliser le groupe [mysqld1] pour le serveur version 4.0.8 et le groupe [mysqld2] pour le serveur version 4.0.17. Par exemple, vous pourriez configurer votre fichier d'options C:\my.cnf ainsi :
    
    # options for mysqld1 service
    [mysqld1]
    basedir = C:/mysql-4.0.8
    port = 3307
    enable-named-pipe
    socket = mypipe1

    # options for mysqld2 service
    [mysqld2]
    basedir = C:/mysql-4.0.17
    port = 3308
    enable-named-pipe
    socket = mypipe2
    Installez les services comme ceci, en utilisant les noms de chemin complet pour vous assurer que Windows trouve les bons programmes pour chaque service :
    
    shell> C:\mysql-4.0.8\bin\mysqld-nt --install mysqld1
    shell> C:\mysql-4.0.17\bin\mysqld-nt --install mysqld2
    Pour lancer les services, utilisez le gestionnaire de services, ou bien utilisez la commande NET START avec les bons noms de services :
    
    shell> NET START mysqld1
    shell> NET START mysqld2
    Pour lancer les services, utilisez le gestionnaire de services, ou bien utilisez la commande NET STOP avec les bons noms de services :
    
    shell> NET STOP mysqld1
    shell> NET STOP mysqld2
  • Approche 2 : Spécifiez les options de chaque serveur dans un fichier séparé, et utilisez l'option --defaults-file lorsque vous installez le service pour dire au serveur quel fichier utiliser. Dans ce cas, chaque fichier doit contenir les options du groupe [mysqld] .

    Avec cette approche, pour spécifier les options du serveur mysqld-nt 4.0.8, il faut créer un fichier C:\my-opts1.cnf qui ressemble à ceci :

    
    [mysqld]
    basedir = C:/mysql-4.0.8
    port = 3307
    enable-named-pipe
    socket = mypipe1
    Pour la version 4.0.17 de mysqld-nt , créez un fichier C:\my-opts2.cnf qui ressemble à ceci :
    
    [mysqld]
    basedir = C:/mysql-4.0.17
    port = 3308
    enable-named-pipe
    socket = mypipe2
    Installez les services comme suit (entrez chaque commande comme une seule ligne) :
    
    shell> C:\mysql-4.0.8\bin\mysqld-nt --install mysqld1
               --defaults-file=C:\my-opts1.cnf
    shell> C:\mysql-4.0.17\bin\mysqld-nt --install mysqld2
               --defaults-file=C:\my-opts2.cnf
    Pour utiliser l'option --defaults-file lors de l'installation du serveur MySQL comme service, vous devez la faire précéder du nom de service.

    Après avoir installé les services, lancez et arrêtez les services de la même façon que dans l'exemple précédent.

Pour supprimer plusieurs services, utilisez la commande mysqld --remove pour chacun d'entre eux, en spécifiant le nom du service, suivi de l'option --remove si le service a un nom qui n'est pas le nom par défaut.

<< Lancer plusieurs serveurs comme services Windows >>
Lancer plusieurs serveurs depuis la console Utiliser plusieurs serveurs MySQL un serveur Windows Faire fonctionner plusieurs serveurs MySQL sur la même machine