7
votes

Impossible de se connecter à MySQL Server sur iPaddress (10061)

Je dois me connecter à une base de données MySQL distante et j'ai créé le code de connexion suivant: xxx

pour des raisons de sécurité, je n'ai pas fourni les valeurs variables réelles. Quand j'exécute cela sur mon système de développement, je reçois xxx

mon php est un peu rouillé, peut-on identifier où mon code est défectueux? Notez que DBuser a sélectionné, insérer et mettre à jour des privilèges sur le nom de la base de données défini comme variable.

merci, SID

EDIT J'ai apporté des modifications à my.cnf et j'ai redémarré mysql. Je reçois maintenant accès refusé pour l'utilisateur 'dbuser' @ 'MyCurrenthostName' (en utilisant le mot de passe Oui). Lorsque j'utilise MySQL -U DBuser -P de la ligne de commande, je peux vous connecter. J'ai accordé l'insertion, la mise à jour et sélectionnez à DBuser avec l'hôte '%' afin que DBuser puisse se connecter de n'importe où.

J'ai lu le Guide de référence MySQL sur cette erreur, mais je suis toujours bloqué. Y a-t-il un problème avec mon code, maintenant que my.cnf a été corrigé?


4 commentaires

Êtes-vous sûr que des autorisations sont configurées qui vous permettent de vous connecter?


Oui, j'ai accordé des autorisations à DBuser et a fait un privilège de rinçage après.


my.cnf contient: # Skip-Networking # Activer-nommé-Tuyaux Skip-Innodb max-connexions = 30 linge-adresse = 127.0.0.1


L'adresse de liaison doit être réglée sur l'adresse IP de l'interface réseau à laquelle vous vous connectez. Par exemple, si votre serveur MySQL a une seule carte d'interface réseau (NIC), avec une adresse IP de 192.168.1.200, alors adresse de liaison doit être défini sur 192.168.1.200. Vous pouvez également vouloir vérifier si le serveur reçoit des paquets sur le port MySQL. Sur Linux, par exemple, vous pouvez exécuter: TCPDump Port 3306 .


3 Réponses :


4
votes

Selon la documentation MySQL, l'erreur (2003) ne peut pas se connecter à MySQL Server sur 'Server' (10061) indique que la connexion réseau a été refusée. Vous devez vérifier qu'il existe un serveur MySQL en cours d'exécution, qu'il dispose de connexions réseau activées et que le port réseau que vous avez spécifié est celui configuré sur le serveur.

Je ne connais pas PHP, mais le problème peut ne pas être dans votre code.


1 commentaires

Cette erreur peut également apparaître sous Windows si vous n'avez pas de privilèges pour créer ou accéder aux fichiers de données InnoDB.



14
votes

Vérifiez que votre pare-feu permet aux connexions via le port 3306.

Cochez le paramètre de configuration MySQL Adresse de liaison IN MY.CNF Pour vous assurer qu'il permet des connexions distantes.

Il y a des informations et des conseils de dépannage ici:

http: // dev. mysql.com/doc/refman/5.1/fr/can-not-connect-a-server.html


1 commentaires

Merci pour le lien. MySQLD est en cours d'exécution, mais ne peut pas exécuter les premiers commandes MySqladmin dans cet article. Les variables MySQLAdmin et la version MySQLADMIN renvoient l'accès refusé pour l'utilisateur root @ localhost à l'aide du mot de passe no. Où serait le fichier my.cnf et comment dois-je modifier une adresse de liaison? Merci:)



4
votes

Si vous obtenez l'erreur ci-dessus même après avoir mis le port MySQL 3306 Open Access,

Il suffit de changer l'adresse de liaison du fichier mysql my.cnf qui est situé à /etc/mysql/my.cnf Mettre à jour l'adresse de liaison comme indiqué ci-dessous bind-adresse = 0.0.0.0

Cela permettra l'accès à tous les IP à distance Sur AWS EC2, cela fonctionne.


0 commentaires