2012-01-06 3 views
1

J'utilise exactement les mêmes informations d'identification pour me connecter à un serveur mysql distant. hôte% est donné à l'utilisateur.php peut se connecter au serveur SQL distant, mais la ligne de commande ne peut pas

je peux connecter via mon application php sur localhost au serveur distant mysql

mais chaque fois que je fais la ligne de commande sur localhost

mysql -u username -p'password' -h remoteserver.domain.com 

il génère une erreur

ERROR 1045 (28000): Access denied for user 'username'@'10.50.2.4' (using 
password: YES) 

ce que suis-je manquant ici?

+0

Est-ce que votre nom d'utilisateur se termine vraiment par '@'? 'nom d'utilisateur @'? –

+0

J'ai une faute de frappe dans ma commande et un message d'erreur. – flyclassic

Répondre

1

Votre ligne de commande mysql est erronée. Mysql a la syntaxe funky:

mysql -u username -ppassword -h remoteserver.domain.com 

au lieu de

mysql -u username -p password -h remoteserver.domain.com 

Notez la balise p et le placement de mot de passe.

+0

Dans le second cas, MySQL traite "mot de passe" comme le schéma de base de données que vous essayez de vous connecter. Et si je me souviens, il donnera à l'utilisateur la possibilité d'entrer un mot de passe à l'étape suivante. –

+0

Correct, si vous venez d'émettre le -p sans mot de passe, il vous demandera le pw. –

0

tours que je devrais faire disparaître les guillemets simples dans mon mot de passe pour Windows, les commandes mysql

au lieu de

 
mysql -u username -p'password' -h remoteserver.domain.com

cela fonctionne en fait

 
mysql -u username -ppassword -h remoteserver.domain.com

raison pour laquelle j'utiliser seul guillemets car mon mot de passe contient des caractères non-alpha qui fonctionnent sous linux mais pas sur une ligne de commande basée sur Windows

Questions connexes