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
.
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.