2010-10-27 57 views
0

我哈瓦接下来的任务在我的Ant文件:蚂蚁无法连接到MySQL(拒绝访问),但MySQL客户端可以

<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> 

当我运行它,我看到的错误:

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

不过,我可以用这样的登录名和密码登录使用MySQL客户端:

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

为什么出现这种情况?我刚刚在Ubuntu 10.10中安装了mysql,如果有问题

+0

检查端口,它是默认配置仅3306? – 2010-10-27 08:59:53

回答

0

发生这种情况的原因是,当你通过mysql客户端的本地主机连接时,它使用unix套接字进行连接,处理权限有点不同,而ant通过localhost TCP/IP。

尝试授予访问127.0.0.1(这是不一样的为localhost至于MySQL服务器而言)

grant all on initdb.* to 'root'@'127.0.0.1' identified by 'oksaoksaoksa'; 
相关问题