Question

Je suis en mesure de cingler le serveur distant auquel j'essaie de me connecter avec succès. Cependant, lors de l'exécution de la commande mysql:

mysql -u monty -h website.com -p

Je reçois l'erreur suivante:

ERROR 2003 (HY000): Can't connect to MySQL server on 'website.com' (111)

J'ai suivi les instructions trouvées ici qui montrent comment créer un utilisateur avec les privilèges nécessaires:

mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
->     WITH GRANT OPTION;
mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
->     WITH GRANT OPTION;

J'ai également commenté la ligne suivante dans /etc/mysql/my.cnf

# bind-address      = 127.0.0.1

Même ainsi, je ne suis toujours pas en mesure de me connecter à distance. Y a-t-il quelque chose qui me manque ici? Merci encore à tous.

Était-ce utile?

La solution

Erreur 111 est Connection refused:

$ perror 111
111: Connection refused

Il y a quelques façons courantes que cela se produit:

  • Le système serveur, le système client ou un routeur au milieu est configuré pour administrer REJECT ces paquets. Les paquets TCP sont gérés différemment des paquets ICMP, donc être capable de ping n'implique pas nécessairement la capacité d'acheter un flux TCP aléatoire. Demandez aux administrateurs sur les systèmes de vérifier ufw ou iptables pour les données de pare-feu.
  • Le système serveur exécute un Contrôle d'accès obligatoire outil tel que Apparmor, Selinux, Tomoyo, ou CLAQUE qui est configuré pour interdire les paquets. Ces systèmes varient dans la façon dont les erreurs sont signalées, mais vérifiez /var/log/audit/audit.log et dmesg(1) sortie pour reject, denied, AVC, etc.
  • Vous avez peut-être supprimé un seul bind-address configuration. Essayez d'ajouter un explicite bind-address=0.0.0.0 (Lien Google Cache; je ne peux pas contacter dev.mysql.com pour une raison quelconque) au fichier de configuration pour forcer la liaison à toutes les adresses. Vérifier netstat -anp | grep -i mysql Pour voir quels ports, le cas échéant, il écoute.

Autres conseils

Ce n'est pas un problème d'autorisation. S'il s'agissait d'un problème d'autorisation, vous obtiendrez une erreur différente.

C'est un problème de connexion.

Assurez-vous que la ligne skip-networking La ligne est commentée ou supprimée de votre fichier de configuration.

Assurer que le port La ligne est configurée sur le port approprié (la valeur par défaut est 3306).

Si vous n'êtes toujours pas en mesure de vous connecter, c'est probablement un problème de pare-feu / FAI.

Le ping n'est pas vraiment un bon test car il ne teste que si le serveur ICMP est en place. L'utilisation de Telnet pour se connecter au port spécifique serait un meilleur test:

> telnet website.com 3306

Il y a beaucoup d'endroits que vous pouvez mettre un my.cnf Fichier, recherchez donc le fichier pour s'assurer qu'un autre fichier n'est pas en vigueur.

Cela combiné avec la réponse de Sarnold devrait vous mettre sur la bonne voie.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top