Connexion au serveur MySQL distant en utilisant PHP
Je suis tente de se connecter à un serveur MySQL distant à partir de ma machine locale virtualhost en utilisant le code suivant:
$conn = mysql_connect("$dbhost", "$dbuser", "$dbpass") or die(mysql_error());
mysql_select_db($dbname, $conn) or die(mysql_error());
Mon problème est que je n'arrive pas à se connecter localement recevoir le message d'erreur:
Can't connect to MySQL server on 'xxx.xxx.xxx.xxx' (10060)
Ce n'est pas le cas quand j'ai télécharger le même fichier PHP sur le serveur. Je suis en mesure d'interroger la base de données sans problèmes à tous.
Je n'arrive pas à se connecter via la ligne de commande, mais je peux accéder à cPanel qui exclut de fait les chances de mon IP est banni accidentellement.
Mon serveur local est en cours d'exécution PHP 5.2.9, le serveur distant 5.2.12
source d'informationauteur BenTheDesigner
Vous devez vous connecter pour publier un commentaire.
%
(hôte) (voir manuel pour plus de détails)Le problème actuel est le premier, mais juste après vous le résoudre, vous aurez de chance d'obtenir la deuxième.
Il est très facile de se connecter un Serveur MySQL distant à l'Aide de PHP, ce que vous avez à faire est de:
Créer un Utilisateur MySQL au serveur distant.
Donner Plein de privilège de l'Utilisateur.
Se connecter au Serveur à l'aide du Code PHP (Exemple Donné ci-Dessous)
Je viens de résoudre ce genre de problème.
Ce que j'ai appris, c'est:
my.cnf
et définir labind-address = your.mysql.server.address
sous[mysqld]
vérifier si il fonctionne
créer un utilisateur (usr ou quoi que ce soit) avec % de domaine et de lui accorder l'accès à la base de données en question.
ouvrez le pare-feu pour le port 3306 (vous pouvez utiliser la commande iptables. assurez-vous d'ouvrir le port pour eithe reveryone, ou, si vous êtes serré securety, puis seulement permettre à l'adresse du client)
vous devriez être en mesure de maintenant, connectez le serveur mysql forme de votre client serveur de script php.
Ce peut-être pas la réponse à l'affiche de la question.Mais cela peut aider les gens dont le visage même situation avec moi:
Pour le client d'avoir deux cartes réseau sans fil et un normal.
Le ping vers le serveur peut être réussir.Cependant
telnet serverAddress 3306
serait un échec.Et se
lorsque vous essayez de vous connecter au serveur.J'ai donc interdit la normale cartes réseau.
Et essayé
telnet serverAddress 3306
il fonctionne.Et puis il travail lors de la connexion au serveur MySQL.