java - JDBC - phpMyAdmin MySQL 无法登录数据库?

标签 java mysql jdbc

我正在通过 OpenShift 托管网络应用程序。我添加了一个 MySQL 数据库并使用 phpMyAdmin 创建了它。现在,我认为我的服务器名称是它在 phpMyAdmin 页面上显示的名称(例如 127.01.201.302)。现在,我使用相同的密码创建了一个用户“localhostOnly”,我将主机设置为“localhost”并将权限设置为插入、选择更新和删除。

但是当我尝试连接到它时:

jdbc:mysql://127.01.201.302:3306/DB_NAME 并使用这些登录凭据,出现此错误:

java.sql.SQLException: Access denied for user 'localhostOnly'@'localhost' (using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:998)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3835)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3771)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:870)
at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1659)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1206)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2239)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2270)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2069)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:794)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:44)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:389)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:399)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:325)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at database.OpeningsTijdenDAO.selectTijden(OpeningsTijdenDAO.java:15)
at database.OTService.getTijden(OTService.java:13)
at servlets.GetTijdenServlet.doPost(GetTijdenServlet.java:17)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)

注意:我绝对确定登录凭据是正确的。我没有安装 XAMMP 或其他东西。

最佳答案

at java.lang.Thread.run(Unknown Source)

通过查看整个错误跟踪的最后一行。我可以假设您的程序无法通过给定的 URL 找到您的服务器。我认为您可能缺少 MySQL 服务器的端口号。如果您没有更改端口号,那么默认情况下很可能是 3307。从

更改您的数据库源 URL
jdbc:mysql://127.01.201.302/DB_NAME

jdbc:mysql://127.01.201.302:3307/DB_NAME

关于java - JDBC - phpMyAdmin MySQL 无法登录数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32922036/

相关文章:

java - 为什么不在指定位置创建备份文件?

java - 将图像从java客户端发送到python服务器

java - 在 for 循环中更新列表值失败但在具有对象值的列表中成功

mysql - 在表格中查找学生的排名

mysql - 是否可以从另一个 sql 脚本中的存储过程调用 sql 脚本?

java - 如何使用 Java 中的 Postgres JDBC 驱动程序获取导致 SQLException 的 sql 语句?

java - 将空值绑定(bind)到 boolean 复选框

php - 无法从具有数组的查询填充表

java - java中插入成功后自动更新

java.lang.UnsatisfiedLinkError : no ocijdbc11 in java. 库路径