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.phpPeu 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
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')
$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"); ?>