2010-10-27 4 views
0

je Hava la tâche suivante dans mon dossier de fourmi:Ant ne pouvait pas se connecter à mysql (accès refusé), mais le client MySQL pourrait

<target name="initdb"> 
    <sql driver="com.mysql.jdbc.Driver" 
     url="jdbc:mysql://localhost:3306/dtest" 
     userid="root" password="oksaoksaoksa" > 
    <classpath> 
     <pathelement path="./lib/mysql-connector-java-5.1.13-bin.jar"/>  
    </classpath> 
    <transaction src="./init.sql"/> 
    </sql> 
</target> 

Quand je lance, je vois l'erreur:

BUILD FAILED 
/home/sbos/projects/texterra-tests/deploy.xml:43: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) 

Cependant, je peux vous connecter avec un tel login et mot de passe avec le client mysql:

mysql -u root -p 
Enter password: <oksaoksaoksa> 
Welcome to the MySQL monitor. Commands end with ; or \g. 
... 

Pourquoi cela se produit? Je viens d'installer mysql dans ubuntu 10.10 si cela compte

+0

Vérifiez le port, est-il configuré par défaut 3306 seulement? –

Répondre

0

Cela arrive parce que quand vous vous connectez via localhost dans le client mysql, il utilise le socket unix pour se connecter, ce qui gère les privilèges un peu différent, alors que ant se connecte à localhost via tcp/ip.

Essayez d'accorder l'accès à 127.0.0.1 (ce qui est le même que localhost pour autant que le serveur MySQL est concerné)

grant all on initdb.* to 'root'@'127.0.0.1' identified by 'oksaoksaoksa'; 
Questions connexes