我正在尝试连接到MySQL服务器,但出现无法处理的错误。
java.sql.SQLNonTransientConnectionException:无法创建到数据库服务器的连接。尝试重新连接3次。放弃。com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110)com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)com.mysql.cj.jdbc.exceptions.createSQLException(SQLError.java:89)com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63)在com.mysql.cj.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73)在com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:902)在com.mysql.cj.jdbc.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:827)在com.mysql.cj.jdbc.jdbc.ConnectionImpl.ConnectionImpl.456)在com.mysql.cj.jdbc.jdbc.ConnectionImpl.getInstancecom.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:207)的java.sql.DriverManager.getConnection(DriverManager.java:664)的java.sql.DriverManager.getConnection(DriverManager.java:247)的Main.Main(Main.java:21)原因:com.mysql.cj.exceptions.cjexceptions:sun.reflect.nativeconstructoraccessormpl.newInstance0(本机方法)sun.reflect.nativeconstructoraccessormpl.newInstance(nativeconstructoraccessormpl.java:62)sun.reflect.DelegatingConstructorAccessorImpl.newInstance上的用户“chevica”@“people”对数据库“peoples”的访问被拒绝(DelegatingConstructorAccessorImpl.java:45)在com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)在com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105)在com.mysql.cj.exceptions.exceptions.ExceptionFactory.createException中com.mysql.cj.protocol.a.NativeProtocol.checkErrorMessage(NativeProtocol.java:810)com.mysql.cj.protocol.a.NativeProtocol.checkErrorMessage(NativeProtocol.java:810)com.mysql.cj.protocol.a.NativeProtocol.checkErrorMessage(NativeProtocol.java:735)com.mysql.cj.cj.protocol.a.NativeProtocol(NativeProtocol.java:703)在com.mysql.cj.protocol.a.NativeProtocol.checkErrorMessage(NativeProtocol.java:132)在com.mysql.cj.protocol.a.NativeAuthenticationProvider.proceedHandshakeWithPluggableAuthentication(NativeAuthenticationProvider.java:557)在com.mysql.cj.protocol.a.NativeAuthenticationProvider.connect(NativeAuthenticationProvider.java:220)在com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1443)在com.mysql.cj.NativeSession.connect(NativeSession.java:165)在com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:846)…在main.main的线程“main”中还有7个异常(Main.java:39)
代码:
import java.sql.*;
public class Main {
// JDBC URL, username and password of MySQL server
private static final String url = "jdbc:mysql://localhost:3306/Peoples?autoReconnect=true&useSSL=false";
private static final String user = "chechevica";
private static final String password = "**ur_SQLparol**";
// JDBC variables for opening and managing connection
private static Connection connection;
private static Statement statement;
private static ResultSet resultSet;
public static void main(String[] args) {
String query = "SELECT id_user FROM users";
try {
// opening database connection to MySQL server
Class.forName("com.mysql.cj.jdbc.Driver");
connection = DriverManager.getConnection(url, user, password);
// getting Statement object to execute query
statement = connection.createStatement();
// executing SELECT query
resultSet = statement.executeQuery(query);
while (resultSet.next()) {
int count = resultSet.getInt(1);
System.out.println("Total number of users in the table : " + count);
}
} catch (SQLException sqlEx) {
sqlEx.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} finally {
//close connection ,stmt and resultSet here
try { connection.close(); } catch(SQLException se) { /*can't do anything */ }
try { statement.close(); } catch(SQLException se) { /*can't do anything */ }
try { resultSet.close(); } catch(SQLException se) { /*can't do anything */ }
}
}
}
根本原因是用户chechevica无法访问人民DB:
Caused by: com.mysql.cj.exceptions.CJException: Access denied for user 'chechevica'@'%' to database 'peoples' at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at
您只需要向该用户授予访问权限来解决您的问题,这样就可以了:
GRANT ALL PRIVILEGES ON peoples.* TO 'chechevica'@'%';
有关在MySQL中授予权限的更多详细信息,请阅读本文
问题内容: 我正在尝试使用Ruby on Rails运行Selenium的示例脚本。我必须使用代理运行它。这是我的代码: 我收到以下错误: 有人能帮我吗…?我已经尝试了好几个小时,却找不到问题…真的不知道该怎么办。 环境: Ubuntu 16.04 LTS,Firefox 45.0,rbenv 2.3.1 另一个问题:有人知道Selenium + Ruby on Rails的示例吗?我找不到真正好
我真的想不通为什么我不能用下面的代码连接到我的Django项目内的JQuery。你能告诉我是什么原因吗?多谢! null null
我正在尝试使用Android studio提供的工具将我的Android应用程序连接到firebase,但我面临着很多麻烦。 我已经尝试更新依赖到最新的最新的谷歌服务,但错误仍然存在,显示的错误是无法解析Android应用模块的Gradle配置。解决分级生成问题和/或重新同步。 分级/应用程序a
我正在开发Selenium,目前我有一个连接到两个运行linux和所有浏览器的虚拟机的集线器。 我能够启动浏览器,直到它突然停止。火狐或任何其他浏览器都不会启动。我得到以下错误。 45000 ms后无法连接到端口7055上的主机127.0.0.1。 我运行Selenium服务器独立2.26与火狐16.0.2. 请帮忙。
Q-我安装了git以获取最新版本的Angular。当我尝试运行时 我连接到github 443错误失败 我甚至试过 这使我无法连接,没有错误消息。 我在公司防火墙后面。转到控制面板时,我看不到我的代理详细信息- 我终于做到了。我将更新我所采取的程序,以便只是想编译我所做的所有步骤,以使它正常工作
我试图连接到一个名为的数据库。所有凭据都位于PHP文件名中,格式为 我正试图用这个连接到数据库 我得到这个错误: 注意:第6行的未定义变量:DB_HOST in/home/content/06/8274306/html/beta/mysuperscript.php 注意:未定义变量:第6行 /home/content/06/8274306/html/beta/mysuperscript.phpDB