【问题标题】:Mysql Access denied for user 'user'@'localhost' (using password: yes) "openshift"用户'user'@'localhost'的Mysql访问被拒绝(使用密码:是)“openshift”
【发布时间】: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();
                                }
                }

【问题讨论】:

    标签: java mysql openshift


    【解决方案1】:

    使用 OpenShift Online MySQL 插件时,您不能以“root”或“用户”@“本地主机”身份登录。您必须使用安装 MySQL 盒时 OpenShift 提供给您的凭据登录。您可以通过 ssh 进入您的设备并运行命令 env | grep MYSQL 来查看凭据,或者您可以在 OpenShift Online Web 控制台中查看它们。有关在 OpenShift Online 上使用 MySQL 的更多信息,请参阅 Developer Portal 中的此文档 (https://developers.openshift.com/databases/mysql.html)。

    【讨论】:

    • 我使用 OpenShift 提供的凭据登录,但仍然有同样的错误!
    猜你喜欢
    • 1970-01-01
    • 2016-06-21
    • 1970-01-01
    • 2012-08-02
    • 1970-01-01
    • 2016-07-28
    • 2021-07-11
    • 1970-01-01
    • 2016-07-11
    相关资源
    最近更新 更多