MySQL : Comment autoriser les connexions distantes ?

Permettre des connexions externes sur une base de données MySQL.

Par défaut, MySQL n'autorise pas les machines distantes à se connecter. La première fois que j'ai moi même essayé, j'ai obtenu la jolie erreur que voici : mysql_connect(): Lost connection to MySQL server at 'reading initial communication packet'. Pour changer ça c'est très simple :

Ces manipulations ont été effectuées sous Debian Squeeze. Imaginons que notre serveur SQL ait pour adresse IP "aa.aa.aa.aa" et notre client (la machine qui tente de se connecter) "bb.bb.bb.bb".

Créez un utilisateur MySQL en lui attribuant comme serveur : Tout serveur. Sur phpMyAdmin : Privilèges / Ajouter un utilisateur.

Editez le fichier /etc/mysql/my.cnf et localisez le champ bind-address. Normalement sa valeur est 127.0.0.1 ou localhost, il faut simplement saisir l'adresse IP du client :

bind-address = bb.bb.bb.bb