Проблема с подключением к удаленной базе данных - PullRequest
0 голосов
/ 12 августа 2011

Я хочу получить доступ к удаленной базе данных (Mysql), но всегда возникает ошибка: в чем может быть ошибка?

try{
Class.forName("com.mysql.jdbc.Driver");         
String url = "jdbc:mysql://@IP:3306/jira313";
String user = "jirauser";
String passwd = "jirauser";
Connection conn = DriverManager.getConnection(url, user, passwd);
}catch (Exception e) {
e.printStackTrace();
 }

Ошибка:

java.sql.SQLException: Access denied for user 'jirauser'@'MyIP' (using password: NO)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:910)
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3923)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1273)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2031)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:718)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at javaapplication1.connexion.main(connexion.java:29)

Ответы [ 5 ]

2 голосов
/ 12 августа 2011

Ответ на ваш вопрос в вашем исключении:

java.sql.SQLException: Access denied for user 'jirauser'@'MyIP' (using password: NO)

Войдите в базу данных, если у вас есть доступ и попробуйте:

GRANT ALL ON YOUR_DATABASE.* TO jirauser@'YOUR_IP' IDENTIFIED BY 'YOUR_PASSWORD';
1 голос
/ 12 августа 2011

Проверьте ваш код, ошибка говорит о том, что пароль не указан.

1 голос
/ 12 августа 2011

Ваш пользователь может быть локальным, сначала попробуйте с клиентом MySQL. Если это также дает ошибку, измените права пользователя, чтобы иметь возможность подключиться с удаленного компьютера.

0 голосов
/ 12 августа 2011

Настройка mysql для разрешения удаленного подключения для пользователя.

grant <permission> on <database> to <user>@<location> identified by <password>
0 голосов
/ 12 августа 2011

У вас нет прав для доступа к удаленному серверу mysql. Зайдите на сервер, войдите в MySql и запустите GRANT ALL PRIVILEGES ON *.* TO 'jirauser'@'%' (это даст вам полный доступ -> сначала вы должны прочитать о привилегиях и добавить только те привилегии, которые вам нужны , добавив пользователей в MySql

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...