2011-08-12 40 views
0

我想访问远程数据库(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) 

回答

1

你的用户可能是局部的,先用mysql客户端试试。如果它也给出错误修改用户权限,以便能够从远程连接。

0

您没有访问远程mysql服务器的权限。 转到服务器上,登录到MySQL和运行GRANT ALL PRIVILEGES ON *.* TO 'jirauser'@'%'(这会给你完全访问权限 - >您应该先阅读有关权限,并添加你需要adding users to MySql

0

安装MySQL的公正的特权,允许用户远程连接。

grant <permission> on <database> to <user>@<location> identified by <password> 
1

检查你的代码,错误说密码不指定

2

的回答你的问题是您的异常:

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

登录到数据库中,如果你有机会和尝试:

GRANT ALL ON YOUR_DATABASE.* TO [email protected]'YOUR_IP' IDENTIFIED BY 'YOUR_PASSWORD'; 
+0

不要忘记 'FLUSH PRIVILEGES;' – Clocker