MySQL 4 et MySQL 5 en parallèle sous Windows

MySQL 5 vient tout juste de sortir mais utilisant toujours MySQL 4 (voire MySQL 3), je me suis penché sur la manière de faire tourner plusieurs versions de MySQL en même temps sur la même machine.

Ma machine de test tourne sous Windows mais je suppose que la marche à suivre est sensiblement la même sous Linux. La méthode proposée ici repose sur les versions 4.1.15 et et 5.0.15 fraîchement téléchargées et le binaire utilisé est le mysqld-max-nt.exe.

Installation de(s) MySQL

L'installation est on ne peut plus simple si vous téléchargez les versions zip : il vous suffit de copier le contenu de chaque archive dans un répertoire C:mysqlmysql4 pour MySQL 4.x et C:vmysqlmysql5 pour MySQL 5.x.

Création des fichiers de configuration

Nous allons ensuite créer un fichier de configuration spécifique à chaque version. Le principal changement entre nos deux versions sera le numéro de port utilisé.

Créez un fichier C:mysqlmysql4my.ini et copiez le contenu suivant à l'intérieur :

[mysqld]
port=3306
basedir=C:/mysql/mysql4
datadir=C:/mysql/mysql4/data
log-error=C:/mysql/mysql4/mysqld-error.log
pid-file=C:/mysql/mysql4/mysqld.pid

Faîtes la même chose pour MySQL5 avec le fichier C:mysqlmysql5my.ini suivant :

[mysqld]
port=3307
basedir=C:/mysql/mysql5
datadir=C:/mysql/mysql5/data
log-error=C:/mysql/mysql5/mysqld-error.log
pid-file=C:/mysql/mysql5/mysqld.pid

Configuration de phpMyAdmin

Si vous utiliser phpMyAdmin pour gérer vos bases MySQL, vous pouvez modifier le fichier de configuration config.inc.php pour pouvoir gérer vos deux serveurs avec la même installation.

Dans la section Server(s) configuration, vous allez déclarer deux serveurs : pour le premier serveur, entrez les valeurs suivantes :

<?php
$i = 0;
$i++; // Serveur MySQL 4.x
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = 3306;
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';

$i++; // Serveur MySQL 5.x
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = 3307;
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
?>

Création des scripts de démarrage et d'arrêt

Nous allons passer par des scripts batch DOS pour gérer nos serveurs ; créez un fichier C:mysqlstart-servers.bat et copiez les lignes suivantes dedans :

:: Démarrage de MySQL 4
start /B C:\mysql\mysql4\bin\mysqld-max-nt.exe --defaults-file="C:/mysql/mysql4/my.ini"

:: Démarrage de MySQL 5
start /B C:\mysql\mysql5\bin\mysqld-max-nt.exe --defaults-file="C:/mysql/mysql5/my.ini"

Créez maintenant le fichier C:mysqlstop-servers.bat avec le contenu suivant :

:: Arrêt de MySQL 4
C:\mysql\mysql4\bin\mysqladmin -P 3306 -u root shutdown

:: Arrêt de MySQL 5
C:\mysql\mysql5\bin\mysqladmin -P 3307 -u root shutdown

Vous pouvez maintenant lancer les serveurs en exécutant le script C:mysqlstart-servers.bat et les arrêter via le script C:mysqlstop-servers.bat. Vous pouvez bien entendu adapter cette méthode suivant vos besoins, reportez-vous à la documentation de MySQL pour plus d'informations.

Mise à jour du 22 nov. 2005 : je n'avais pas vu qu'une section de la documentation MySQL traitait du sujet, mea culpa.

Posté le jeudi 17 novembre 2005 dans , .

Commentaires

Il n'y a aucun commentaire ; soyez le premier à déposer le vôtre.

Ajouter un commentaire

Il n'est plus possible de réagir à cette entrée directement mais si vous pensez que votre intervention peut être intéressante, envoyez-moi votre commentaire, je l'ajouterai ici en votre nom.