相关疑难解决方法(0)

用JDBC和MySQL解决"通信链路故障"

我正在尝试连接到本地MySQL服务器,但我一直收到错误.

这是代码.

public class Connect {

    public static void main(String[] args) {
        Connection conn = null;

        try {
            String userName = "myUsername";
            String password = "myPassword";

            String url = "jdbc:mysql://localhost:3306/myDatabaseName";
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            conn = DriverManager.getConnection(url, userName, password);
            System.out.println("Database connection established");
        } catch (Exception e) {
            System.err.println("Cannot connect to database server");
            System.err.println(e.getMessage());
            e.printStackTrace();
        } finally {
            if (conn != null) {
                try {
                    conn.close();
                    System.out.println("Database Connection Terminated");
                } catch (Exception e) {}
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

和错误:

Cannot connect to database server …
Run Code Online (Sandbox Code Playgroud)

java mysql jdbc

187
推荐指数
7
解决办法
64万
查看次数

Spring Boot:使用Hibernate,JDBC和MySQL几小时不活动后,通信链路出现故障

如果我的Spring Boot应用程序在几个小时内处于非活动状态(例如在夜间),我会收到此错误:

2015-05-19 09:16:32.666  WARN 20582 --- [http-nio-8080-exec-6] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 0, SQLState: 08S01
2015-05-19 09:16:32.668 ERROR 20582 --- [http-nio-8080-exec-6] o.h.engine.jdbc.spi.SqlExceptionHelper   : Communications link failure

The last packet successfully received from the server was 29.792.613 milliseconds ago.  The last packet sent successfully to the server was 6 milliseconds ago.
Run Code Online (Sandbox Code Playgroud)

试图解决这个问题我读到MySQL有一个名为wait_timeoutsetted 的参数,默认为8小时(28800秒),在此之后我的所有非活动连接都关闭了,所以我的Spring Boot应用程序停止工作......

我的问题是:

  • 我该如何避免这个问题?
  • 我应该增加这个参数的值吗?
  • 是否存在增加这种价值的任何缺点?(它总是可以是我的应用程序达到的值,如果它长时间处于非活动状态..:/)
  • 是不是有另一种使用Spring Boot的解决方案(如轮询或类似的东西)?

编辑

这里还有其他类似/有用的问题:

mysql spring hibernate jdbc spring-boot

10
推荐指数
1
解决办法
1万
查看次数

MySQL:[08S01]通信链路故障

我有一个带有本地数据库的应用程序,即H2。但客户使用的是MySQL。客户端存在一些问题,因此我决定在本地计算机(MacOS)上安装并运行针对 MySQL 的应用程序。我使用的是java 9。

  1. 下载MySQL
  2. 安装
  3. 按照非常简单的方式从 jetbrains 进行操作

当前设置: 在此输入图像描述 在此输入图像描述

单击“测试连接”后,出现以下错误。

在此输入图像描述

有很多评论:

数据包丢失或防火墙/交换机配置不当

大量交易

已知错误 - Maven 依赖项的解决方案

但大多数不是在测试连接,而是在配置。此外,这些人的连接至少可以工作一次或通过另一组防火墙。以前的解决方案都不适合我的情况。

我还尝试使用以下命令重新启动 MySQL:

sudo service mysql restart
Run Code Online (Sandbox Code Playgroud)

结果:

service: command not found
Run Code Online (Sandbox Code Playgroud)

或者只是检查状态:

sudo service mysql status
Run Code Online (Sandbox Code Playgroud)

结果:

service: command not found
Run Code Online (Sandbox Code Playgroud)

不知道和我的问题有没有关系?数据库是“永远”运行还是idea仅在我运行应用程序时才运行它?有人可以帮助连接到数据库吗?

mysql intellij-idea

3
推荐指数
2
解决办法
2万
查看次数

标签 统计

mysql ×3

jdbc ×2

hibernate ×1

intellij-idea ×1

java ×1

spring ×1

spring-boot ×1