Présentation

MySQL est un gestionnaire de base de données détenu par Oracle. Il est utilisé/nécessaire pour de nombreuses applications web utilisant les technologies PHP comme Dotclear (blog) ou Piwigo (galerie photo web).

Installation

Sous GNU/Linux Debian squeeze, il vous suffit simplement de lancer la commande suivante :

su - root
apt-get install mysql-server

et de suivre l’ensemble des instructions.

Lien avec PHP

Si vous avez besoin d’utiliser mysql par php, je vous conseille d’installer le paquet php5-mysql de la manière suivante :

su - root
apt-get install php5-mysql

Interface d’administration par le web

Toujours sous GNU/Linux Debian squeeze, vous pouvez utiliser un outil d’administration web de MySQL nommĂ© PhpMyAdmin qui est très utile.

Installez-le via la commande suivante :

su - root
apt-get install phpmyadmin

et suivez les instructions Ă  l’Ă©cran.

Installer MySQL dans un chroot

Suite Ă  l’explication sur l’installation du chroot sur ce wiki, tentons d’installer MySQL dans un chroot sous GNU/Linux Debian squeeze.

Il suffit de se connecter Ă  son chroot puis d’y installer MySQL :

su - root
chroot /srv/chroot/squeeze /bin/bash --login
apt-get install mysql-server mysql-client php5-mysql

Accès depuis la machine hôte

Machine hĂ´te

Pour pouvoir accéder correctement à MySQL, vous devez changer les paramètres de la machine hôte (pas le chroot).

Dans le fichier /etc/mysql/my.cnf, changez les lignes suivantes pour qu’elles correspondent Ă  ce qui suit :

[client]
port    = 3306
socket    = /srv/chroot/squeeze/var/run/mysqld/mysqld.sock

Ă€ noter que /srv/chroot/squeeze est notre machine chroot.

Puis plus loin, trouvez bind-adress pour l’ajuster ainsi :

bind-address    = localhost

Ajoutez plus loin dans ce mĂŞme fichier, la ligne suivante :

chroot = /srv/chroot/squeeze

Dans le chroot

Ensuite, dans le chroot, Ă©ditez le fichier /etc/mysql/my.cnf :

su - root
chroot /srv/chroot/squeeze /bin/bash --login
nano /etc/mysql/my.cnf

et changez la ligne suivante pour qu’elle apparaisse ainsi :

bind-address    = localhost

Ensuite redémarrez le serveur mysql : bashservice mysql restart

Accès phpmyadmin

Adaptez le fichier /etc/phpmyadmin/config-db.php pour lui affecter la valeur suivante :

$dbserver='127.0.0.1';

de sorte que phpmyadmin utilise l’adresse IP au lieu du socket.

Il faut avoir changé les bind-address de la machine hôte et du chroot comme expliqué ci-avant.

Liens