I hava the next task in my ant file:
<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>
When I run it, I see the error:
BUILD FAILED
/home/sbos/projects/texterra-tests/deploy.xml:43: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
However, I can login with such login and password with mysql client:
mysql -u root -p
Enter password: <oksaoksaoksa>
Welcome to the MySQL monitor. Commands end with ; or \g.
...
Why this happens? I've just installed mysql in ubuntu 10.10 if that matters
It happens because when you connect through localhost in the mysql client, it uses the unix socket to connect, which handles privileges a bit different, while ant connects to localhost through tcp/ip.
Try granting access to 127.0.0.1 (which is not the same as localhost as far as the mysql server is concerned)
grant all on initdb.* to 'root'@'127.0.0.1' identified by 'oksaoksaoksa';
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.