I hava the next task in my ant file:
url="jdbc:mysql://localhost:3306/dtest"
userid="root" password="oksaoksaoksa" >
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:
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';
本文探讨了在使用Ant工具通过TCP/IP连接本地MySQL数据库时遇到的权限拒绝问题,并提供了解决方案,即通过授予127.0.0.1访问权限来规避此问题。
845

被折叠的 条评论
为什么被折叠?



