Articles

1. Installation MySQL 5 depuis les dépôts officiels

apt-get install mysql-server

2. Téléchargement d'une version 4 ou 4.1 de MySQL

On peut encore trouver la version 4.1 de MySQL depuis le site officiel de l'éditeur : http://downloads.mysql.com/archives.php
Peu importe la version, prenez celle qui vous plait =)

Pour notre exemple, j'ai téléchargé la version max 4.1.22 (lien direct) c'est à dire la dernière version 4.1 pour plateforme i686.

Vous pouvez trouver les versions 4.0x à cette adresse : ftp://mysql.secsup.org/pub/software/mysql/Downloads/MySQL-4.0/ (par ex : mysql-standard-4.0.26-pc-linux-gnu-i686.tar.gz).

3. Installation de MySQL 4.xx

On suit les instructions d'installation que je résume :

Extraction du contenu de l'archive
tar zxvf mysql-max-4.1.22-pc-linux-gnu-i686.tar.gz

(on passe en root si ce n'est pas encore fait)
su
mv mysql-max-4.1.22-pc-linux-gnu-i686 /usr/local
cd /usr/local
ln -s mysql-max-4.1.22-pc-linux-gnu-i686 mysql
cd mysql
./configure
chown -R root  .
chown -R mysql data
chgrp -R mysql .

ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql4
ln -s /usr/local/mysql/bin/mysqld_safe /usr/bin/mysqld_safe4
ln -s /usr/local/mysql/bin/mysqldump /usr/bin/mysqldump4

4. Configuration de MySQL 4.xx

Il est important de ne pas perturber le fonctionnement de MySQL 5 installé par défaut et dont le fichier de configuration se situe dans le dossier /etc/mysql/

On copie donc un fichier de configuration d'exemple dans le dossier data (il sera pris automatiquement en compte au lancement de mysql)
cp support-files/my-large.cnf data/my.cnf

Puis on le modifie, notamment pour changer le port d'écoute par défaut afin ne pas entrer en conflit avec MySQL 5 déjà installé
nano data/my.cnf

On remplace dans la section [client]
port            = 3306
par
port            = 3307

Et dans la section [mysqld]
port            = 3306
par
port            = 3307

Ou tout autre port qui vous conviendrait mieux !

5. Démarrage de MySQL 4.xx

On exécute MySQL grâce au lien symbolique précédement créé. Cela évite de se mélanger les pinceaux entre les 2 occurences de MySQL.
mysqld_safe4 --user=mysql &

Si vous obtenez le message 'mysqld ended', vous avez certainement loupé une étape de ce tuto !

Pour stopper MySQL :
export HOSTNAME=`hostname` && kill -15 `cat \`echo /usr/local/mysql/data/$HOSTNAME.pid\``

6. Paramétrage PhpMyAdmin

Modifier le fichier de configuration de phpmyadmin :
nano /etc/phpmyadmin/config.inc.php

Et insérez les lignes suivantes :
// config MySQL5.xx
$cfg['Servers'][$i]['host']          = 'localhost'; // MySQL hostname or IP address
$cfg['Servers'][$i]['port']          = '3306';          // MySQL port - leave blank for default port
$cfg['Servers'][$i]['socket']        = '';          // Path to the socket - leave blank for default socket
$cfg['Servers'][$i]['connect_type']  = 'socket';    // How to connect to MySQL server ('tcp' or 'socket')

// config MySQL4.xx
$i++;
$cfg['Servers'][$i]['host']          = 'localhost'; // MySQL hostname or IP address
$cfg['Servers'][$i]['port']          = '3307';          // MySQL port - leave blank for default port
$cfg['Servers'][$i]['socket']        = '/tmp/mysql.sock';          // Path to the socket - leave blank for default socket
$cfg['Servers'][$i]['connect_type']  = 'socket';    // How to connect to MySQL server ('tcp' or 'socket')

7. Connexion à MySQL 4.xx depuis PHP

<? $link = mysql_connect("localhost:/tmp/mysql.sock", "user", "password"); ?>