J'installe un serveur MySQL dans Ubuntu Desktop. Je pourrais connecter le navigateur de requête MySQL lors de la spécification de la Server Hostname
comme localhost
, mais lorsque je le remplace par l'IP de la machine, il cesse de fonctionner (même si le navigateur de requête MySQL fonctionne dans la même machine).
Tout ce que j'ai fait jusqu'à présent, c'est enlever les IPtables, mais il semble que cela n'a rien à voir avec ça.
Voici le message d'erreur
Impossible de se connecter à l'hôte '192.168.0.2'.
Erreur MySQL NR. 2003
Impossible de se connecter à MySQL Server sur '192.168.0.2' (111)
Cliquez sur le bouton 'ping' pour voir s'il existe un problème de réseautage.
Le ping est ok, bien que
Vous devrez lier votre mysqld à une adresse IP différente de 127.0.0.1.
Ouvrir votre my.cnf (/etc/mysql/my.cnf habituellement) et modifier la ligne qui dit
bind = 127.0.0.1
à n'importe quelle adresse IP, votre machine utilise pour se connecter au monde extérieur. 0.0.0.0
Lié à toutes les adresses IP. N'oubliez pas de redémarrer votre mysqld après ce changement.
En plus de la réponse de Halfdan, je devais exécuter la commande mysql suivante:
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
ON databasename.*
TO 'username'@'clientipaddress'
IDENTIFIED BY 'password'
Comme j'ai appris sur
Plusieurs autres problèmes potentiels expliqués ici:
http://www.ycyberciiti.biz/tips/how-do-enable-remote-access-a-mysql-database-server.htmlhttp: // dev. mysql.com/doc/refman/5.1/fr/Access-Dentieied.html =
Si vous souhaitez accorder tous les privilèges à toutes les bases de données, essayez
grant all on *.* to 'joe'@'%';
Cependant, avant de le faire, assurez-vous d'avoir un utilisateur dans la base de données "MySQL" qui a "Hôte" défini sur votre adresse IP - dans mon cas, mon adresse IP ici à la maison. Donc, l'utilisateur "Joe" peut avoir plus d'un enregistrement, un pour chaque IP qu'il pourrait appeler. Pour voir ce que vous avez déjà là-bas:
use mysql;
select Host, User, Password from user where user='joe';`
Dans mon cas, éteint mon utilisateur avait maintenant l'adresse IP correcte mais le mot de passe était également manquant. J'ai coupé le mot de passe (c'est haché ou quelque chose) et cela a résolu mon problème de connexion à distance particulière:
update user set Password='5493845039485' where user='joe';
Une autre chose, dans my.cnf, vous voudrez peut-être définir "Port = 3306" ou quel que soit le port que vous envisagez d'utiliser.