Prérequis

Il faut avant tout installer les paquets suivants :

apt-get install gcc g++ libc5 libncurses-dev make

Installation

  • Récupérer les sources pour Linux
  • Placer le fichier *.tar.gz dans /tmp
  • Se positionner dans le répertoire /usr/local/src
cd /usr/local/src
  • Décompresser le fichier
tar -xvzf /tmp/mysql-5...

Le répertoire mysql-5-* est alors créé dans /usr/local/src, placez vous dedans afin de poursuivre.

Compilation

./configure -prefix=/usr/local/mysql -localstatedir=/usr/local/mysql/data
make
make install

Configuration

Il faut d'abord configurer l'utilisateur faisant tourner MySQL :

groupadd mysql
useradd -g mysql mysql
chown -R mysql /usr/local/mysql

Initialiser les tables de droits :

cd /usr/local/mysql
./bin/mysql_install_db -user=mysql

Créer le répertoire var

mkdir /usr/local/mysql/var
chown -R mysql /usr/local/mysql

Lancer automatiquement MySQL au démarrage de la machine :

cp share/mysql/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
update-rc.d mysql start 20 2 3 4 5 . stop 20 0 1 6 .

Configurer les options de MySQL :

cp share/mysql/my-medium.cnf /etc/my.cnf

Ajouter les lignes suivantes au fichier /etc/my.cnf copié précédemment :

[mysql.server]
Basedir=/usr/local/mysql
Datadir=/usr/local/mysql/data

Modifier les utilisateurs MySQL :

mysql -u root
 
#On supprime le compte anonyme
Mysql > DELETE FROM mysql.user WHERE User = '';
Mysql > FLUSH PRIVILEGES;
 
#On modifie le mot de passe ROOT
Mysql > UPDATE mysql.user SET Password = PASSWORD('motdepasse') WHERE User = 'root';
Mysql > FLUSH PRIVILEGES;

On modifie le PATH :

PATH=$PATH:/usr/local/mysql/bin/
export $PATH

Autre moyen

A l'heure où j'écris ces lignes je viens de m'apercevoir que le site DotDeb vient d'ajouter le backport de MySQL 5.0.7 beta.
-> http://packages.dotdeb.org/dists/stable/mysql-5.0/binary-i386/

Forçément c'est quand même plus pratique de faire un apt-get install mysql5 !