J'ai besoin de se connecter à une base de données MySQL à distance et ont créé le code de connexion suivant:Impossible de se connecter au serveur MySQL sur IPAddress (10061)
<?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 ne l'ai pas fourni le réel valeurs variables Quand je 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 identifier où mon code est défectueux? Notez que dbuser a les privilèges select, insert et update sur le nom de la base de données défini en tant que variable.
Merci, Sid
Modifier J'apporté des modifications à my.cnf et redémarrés mysql. Je reçois maintenant l'accès refusé pour l'utilisateur 'dbuser' @ 'mycurrenthostname' (en utilisant le mot de passe YES). Quand j'utilise mysql -u dbuser -p depuis la ligne de commande, je peux me connecter. J'ai accordé l'insertion, la mise à jour et la sélection à dbuser avec l'hôte '%' pour que dbuser puisse se connecter de n'importe où.
J'ai lu le guide de référence de MySQL à propos de cette erreur, mais je suis toujours coincé. Y at-il un problème avec mon code, maintenant que my.cnf a été corrigé?
vous êtes sûr que les autorisations sont configurés qui vous permettent de vous connecter? – Galen
Oui, j'ai accordé des permissions à dbuser et j'ai fait des privilèges de flush par la suite. – SidC
my.cnf contient: # skip-networking # enable-nommés tuyaux skip-innodb max-connexions = 30 bind-address = 127.0.0.1 – SidC