MySQL traite les connexions comme spécifiques à l'hôte dont elles proviennent. Vous pouvez avoir un mot de passe différent sur votre machine domestique que celui que vous utilisez sur le serveur lui-même, et vous pouvez avoir des ensembles d'autorisations entièrement différents accordés au même nom d'utilisateur à partir d'hôtes d'origine différents.
Sur PHPMyadmin, la base de données s'exécute sur le même serveur que le serveur Web, et se réfère donc à elle-même en tant que localhost
, avec IP 127.0.0.1
. Votre machine sur laquelle Workbench est installé doit accéder à MySQL avec des identifiants différents de votre [email protected]
. Le serveur vous demande d'accorder l'accès à votre nom d'utilisateur à partir de n'importe quel hôte à partir duquel vous avez l'intention de vous connecter.
Dans PhpMyAdmin, vous devrez accorder l'accès à votre base de données à partir de l'hôte distant :(Voir aussi la réponse de Pekka pour savoir comment autoriser les connexions depuis tout hôte)
GRANT ALL PRIVILEGES on dbname.* TO [email protected]_remote_hostname IDENTIFIED BY 'yourpassword';
Pour voir toutes les subventions dont vous disposez actuellement sur localhost
afin que vous puissiez les dupliquer pour l'hôte distant :
SHOW GRANTS FOR [email protected];
De plus, le serveur MySQL doit être configuré pour accepter les connexions à distance en premier lieu. Ce n'est pas toujours le cas, en particulier sur les plateformes d'hébergement Web. Dans le my.cnf
fichier, le skip-networking
ligne doit être supprimée ou commentée. S'il n'y a pas de skip-networking
ligne, vous devez commenter la ligne :
bind-address = 127.0.0.1
... puis redémarrez MySQL.