Vous devez vérifier que les connexions à distance sont autorisées sur votre serveur. Ici vous pouvez trouver quelques détails à ce sujet.
Vous devez alors vérifier que l'utilisateur que vous utilisez dans la chaîne de connexion a accès à l'extérieur de localhost. Citation de este réponse :
L'utilisateur avec lequel vous essayez de vous connecter est-il autorisé à se connecter à partir de votre hôte ? Pour plus d'informations, consultez la documentation de MySQL à l'adresse suivante http://dev.mysql.com/doc/refman/5.1/en/create-user.html et http://dev.mysql.com/doc/refman/5.1/en/account-names.html , La syntaxe spécifique des noms de comptes est 'nom_utilisateur'@'nom_hôte'. Si vous voulez pouvoir vous connecter avec un compte donné depuis n'importe quel ordinateur, le nom du compte doit suivre une syntaxe telle que 'nom_utilisateur'@'%', où % est un caractère générique correspondant à n'importe quel nom d'hôte.
Si aucune des solutions ci-dessus ne fonctionne, vous devriez enfin vérifier si une règle de pare-feu ne bloque pas votre accès à la base de données. Il y a plus de détails à ce sujet aquí La première chose à faire est d'essayer d'accéder par telnet au port 3306 du serveur de base de données (si votre base de données utilise le port par défaut).
PS : Je viens de repérer que vous utilisez le compte utilisateur Root pour vous connecter à la base de données. Par défaut, Root ne peut se connecter qu'à partir de localhost ( source ) :
Sous Windows, les comptes racine sont créés pour permettre les connexions à partir de l'hôte local uniquement. Les connexions peuvent être établies en spécifiant le nom d'hôte localhost ou l'adresse IP 127.0.0.1. Si l'utilisateur sélectionne l'option option Activer l'accès Root à partir de machines distantes pendant l'installation, le programme d'installation de Windows crée un autre compte Root qui autorise les connexions à partir de n'importe quel hôte.
Sous Unix, chaque compte Root autorise les connexions à partir de l'hôte local. Les connexions peuvent être établies en spécifiant le nom d'hôte localhost, l'adresse IP 127.0.0.1, ou le nom d'hôte ou l'adresse IP réels.
Vous devriez donc probablement commencer votre enquête par le niveau d'accès de l'utilisateur. Si Root est limité à localhost, il peut être judicieux de le laisser ainsi (pour des raisons de sécurité), et de créer un nouvel utilisateur avec lequel vous pourrez accéder à votre base de données à distance depuis votre application (plus de détails aquí ).