【发布时间】:2023-04-07 23:23:01
【问题描述】:
我想使用 java 连接到托管在 openshift 服务器中的 mysql 数据库。
在我的本地计算机上一切正常,但是当我尝试连接到 openshift 数据库时,我得到了这个 error
java.sql.SQLException: Access denied for user : 'userEl'@'@localhost' (使用密码: 是) 在 com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957) 在 com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3878) 在 com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3814) 在 com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:871) 在 com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1694) 在 com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1215) 在 com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2255) 在 com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2286) 在 com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2085) 在 com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:795) 在 com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:44) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(未知来源) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(未知来源) 在 java.lang.reflect.Constructor.newInstance(未知来源) 在 com.mysql.jdbc.Util.handleNewInstance(Util.java:404) 在 com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:400) 在 com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:327) 在 java.sql.DriverManager.getConnection(未知来源) 在 java.sql.DriverManager.getConnection(未知来源) 在 myjava.Test.main(Test.java:13)
这是我的代码
public class Test {
public static void main(String[] args) {
String state;
try {
Connection con = DriverManager.getConnection("jdbc:mysql://ip/mydb","userEl","password");
Statement stm= con.createStatement();
ResultSet rs= stm.executeQuery("SELECT * FROM server");
while(rs.next()){
state=rs.getString(1);
System.out.println("state = "+ state);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
【问题讨论】: