Ant не может подключиться к mysql (доступ запрещен), но клиент mysql может - PullRequest
0 голосов
/ 27 октября 2010

У меня есть следующая задача в файле ant:

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

Почему это происходит?Я только что установил MySQL в Ubuntu 10.10, если это имеет значение

1 Ответ

0 голосов
/ 27 октября 2010

Это происходит потому, что когда вы подключаетесь через localhost в клиенте 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';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...