更新时间:2022-08-17 GMT+08:00

MySQL迁移时报错“JDBC连接超时”怎么办?

问题描述

MySQL迁移时报错:Unable to connect to the database server. Cause: connect timed out.

原因分析

这种情况是由于表数据量较大,并且源端通过where语句过滤,但并非索引列,或列值不离散,查询会全表扫描,导致JDBC连接超时。例如图1所示c_date字段为非索引列。

图1 非索引列

解决方案

  1. 优先联系DBA修改表结构,将需要过滤的列配置为索引列,然后重试。

    如果由于数据不离散,导致还是失败请参考2~4,通过增大JDBC超时时间解决。

  2. 根据作业找到对应的MySQL连接名称,查找连接信息。
    图2 连接信息
  3. 单击“连接管理”,在“操作”列中,单击“连接”进行编辑。
    图3 连接
  4. 打开高级属性,在“连接属性”中建议新增“connectTimeout”与“socketTimeout”参数及参数值,单击“保存”。
    图4 编辑高级属性