Ne peut pas se Connecter au Serveur MySQL sur IPAddress (10061)
J'ai besoin de vous connecter à une base de données MySQL distante et ont créé le code de connexion:
<?php
/* Set Variables */
$host="myipaddress";
$db="mydbname";
$username="dbuser";
$pass="mypass";
/* Attempt to connect */
$mysqli=new mysqli($host,$username,$pass,$db);
if (mysqli_connect_error()){
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
echo 'Success... ' . $mysqli->host_info . "\n";
$mysqli->close();
}
?>
Pour des raisons de sécurité, je n'ai pas fourni les valeurs réelles de la variable. Quand je le lance sur mon système de développement, je reçois
Connect Error (2003) Can't connect to MySQL server on 'myipaddress' (10061)
Mon PHP est un peu rouillé, quelqu'un peut-il identifier d'où mon code est défectueux? Notez que dbuser a sélectionner, insérer et mettre à jour les privilèges sur la base de données nom de la variable.
Grâce,
Sid
Modifier
J'ai fait des modifications à mon.cnf et au redémarrage de mysql. J'ai maintenant accès refusé pour l'utilisateur 'dbuser'@'mycurrenthostname' (using password OUI). Lorsque j'utilise mysql -u dbuser -p à partir de la ligne de commande, je peux me connecter. J'ai accordé à insérer, mettre à jour et sélectionnez-le pour dbuser avec l'hôte '%', de sorte que dbuser pourrait se connecter à partir de n'importe où.
J'ai lu le MySQL guide de Référence sur cette erreur, mais je suis toujours bloqué. Est-il un problème avec mon code, maintenant que mon.cnf a été résolu?
Oui, j'ai accordé des autorisations à dbuser et fait un flush privileges par la suite.
mon.cnf contient: #skip-networking #enable-named-tuyaux skip-innodb max-connections=30 bind-address=127.0.0.1
bind-address
doit être réglé à 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, puis bind-address
doit être réglé à 192.168.1.200. Vous pourriez é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
.OriginalL'auteur SidC | 2010-08-19
Vous devez vous connecter pour publier un commentaire.
Vérifiez que votre pare-feu autorise les connexions sur le port 3306.
Vérifier la configuration de MySQL paramètre
bind-address
dansmy.cnf
pour s'assurer qu'il permet des connexions à distance.Il y a des informations et des conseils de dépannage ici:
http://dev.mysql.com/doc/refman/5.1/en/can-not-connect-to-server.html
OriginalL'auteur Mike
Selon la documentation de MySql , L'erreur (2003) can't connect to MySQL server on 'serveur' (10061) indique que la connexion au réseau a été refusé. Vous devriez vérifier qu'il y a un serveur MySQL en cours d'exécution, qu'il a des connexions réseau activé, et que le réseau de port que vous avez spécifié est celui configuré sur le serveur.
Je ne suis pas familier avec php , mais le problème est peut-être pas dans votre code.
OriginalL'auteur amal