2013-07-07 3 views
0

J'ai configuré une configuration LAMP très basique sur un serveur ec2, tout semble bien fonctionner.mysql sur ec2 instance amazon essayant de se connecter avec un utilisateur incorrect

Cependant, je l'ai vu pour certaines requêtes un échec de connexion au serveur MySQL avec l'erreur suivante:

[07-Jul-2013 20:15:41 Australia/Sydney] PHP Warning: mysql_real_escape_string(): Access denied for user 'ec2-user'@'localhost' (using password: NO) in /var/www/html/mycobber/class/sql/SqlQuery.class.php on line 40 
[07-Jul-2013 20:15:41 Australia/Sydney] PHP Warning: mysql_real_escape_string(): A link to the server could not be established in /var/www/html/xxx/xxxx/sql/SqlQuery.class.php on line 40 

la chose je ne » comprendre est le fait que dans aucun endroit dans ma configuration de connexion mysql Spécifie-t-il l'utilisateur ec2-user. C'est l'utilisateur par défaut lorsque je me connecte au serveur Unix. J'ai mis en place un compte séparé pour exécuter tous mes processus, je n'utilise même pas l'utilisateur es2.

J'ai regardé en ligne et je ne vois rien pour expliquer cela. Est-ce que quelqu'un a une idée de ce qui se passe ici? ce n'est pas tout le temps

Répondre

1

Vous ne pouvez pas appeler mysql_real_escape_string sans avoir préalablement ouvert une connexion avec mysql_connect.

Je cite la documentation:

A MySQL connection is required before using mysql_real_escape_string() otherwise an error of level E_WARNING is generated, and FALSE is returned.

Le message d'erreur fait référence à votre nom d'utilisateur par défaut @ localhost parce que vous n'avez pas ouvert une connexion avec des informations d'identification précises - il ne sait pas quel compte les détails à utiliser.

+0

ok cela éclaircit pourquoi il utilise ec2-user, j'ai trouvé que dans les doccos merci. Je ne sais pas pourquoi cela fonctionne localement cependant. Merci – sapatos

Questions connexes