2009-12-28 3 views
0

J'essaie de me connecter à distance mysql j'ai un problème typique.Problèmes de connexion à distance mysql? Comment se connecter en utilisant php?

$conn = mysql_connect('xxx.xxx.xxx.xxx', 'username', 'password') or die(mysql_error()); 

Que mon nom d'hôte du système est my.host.com et une télécommande est remote.host.com

I tryed utilisant à la fois xxx.xxx.xxx.xxx IP et remote.host.com il est dit que

Access denied for user 'username'@'my.host.com' (using password: YES) 

S'il vous plaît aidez-moi hors de ce problème.

Merci d'avance.

Répondre

1

Avez-vous accorder les autorisations de l'utilisateur avec le nom d'hôte?

 

GRANT ALL ON mydb.* TO 'someuser'@'somehost'; 
 
+0

J'utilise le nom d'hôte comme remote.host.com mais il montre Accès refusé pour l'utilisateur 'username'@'my.host.com' (en utilisant le mot de passe: OUI) – itsoft3g

+0

L'utilisateur doit avoir des autorisations sur cet hôte spécifique, avez-vous défini ça? – mmattax

0

Vérifiez si le mot de passe et le nom d'utilisateur que vous avez spécifiés sont corrects et si l'utilisateur est configuré pour l'accès dans la base de données.

Si cela ne résout pas le problème, lisez http://dev.mysql.com/doc/refman/5.1/en/access-denied.html

+0

J'utilise hostname comme remote.host.com mais il montre Accès refusé pour l'utilisateur 'username'@'my.host.com' (using password: YES) – itsoft3g

+0

Le nom d'hôte n'est pas votre problème. Sinon, vous n'obtiendrez pas de réponse d'accès refusé du serveur. Vérifiez Utilisateur/Passe et GRANT – Gordon

+0

comment installer accorder – itsoft3g

0

Vous devez autoriser l'accès à l'hôte client requis depuis MySQL. Voir la commande GRANT (en particulier le bit "Privilèges globaux") pour plus de détails.

+0

J'utilise hostname comme remote.host.com mais il montre Accès refusé pour l'utilisateur 'username'@'my.host.com' (en utilisant le mot de passe: YES) – itsoft3g

+1

Vous devez autoriser l'accès depuis 'my.host.com' . (Incidemment, je présume qu'il ne dit pas "my.host.com", mais plutôt l'hôte spécifique que vous essayez de vous connecter.) –

+0

comment puis-je faire cela? Aidez-moi s'il vous plaît – itsoft3g

0

S'il vous plaît lire attentivement le chapitre The MySQL Access Privilege System dans la documentation MySQL:

Votre identité est basée sur deux éléments d'information:
* L'hôte client à partir duquel vous connecter
* Votre nom d'utilisateur MySQL
La vérification d'identité est effectuée à l'aide des trois colonnes d'étendue de la table utilisateur (Hôte, Utilisateur et Mot de passe). Le serveur n'accepte la connexion que si les colonnes Hôte et Utilisateur d'une ligne de table utilisateur correspondent au nom d'hôte et au nom d'utilisateur du client et que le client fournit le mot de passe spécifié dans cette ligne.
I.e. Si votre script php fonctionne "sur" my.host.com et se connecte à un serveur MySQL distant, il doit y avoir une entrée dans la table mysql.user du serveur pour [nom d'utilisateur, my.host.com, votre mot de passe] ou le serveur refusera l'accès .

Questions connexes