应用开发向导

连接云原生数据仓库MySQL版推荐的方式是druid-jdbctddl

当使用JDBC连接池连接云原生数据仓库MySQL版时,推荐使用Druid连接池,且尽量使用最新版本。请参考Druid

关于Druid连接池配置,请务必按照如下配置项进行配置:

- maxActive:100(最大值根据业务并发量来定,建议该值大于等于业务并发数)
- initialSize:5
- maxWait:60000
- minIdle:10
- maxIdle:20
- timeBetweenEvictionRunsMillis:2000
- minEvictableIdleTimeMillis:600000
- maxEvictableIdleTimeMillis:900000
- validationQuery: show status like '%Service_Status%';
- testWhileIdle:true
- testOnBorrow:false
- testOnReturn:false
- removeAbandoned:true
- removeAbandonedTimeout:180

使用SQL开发工具访问云原生数据仓库MySQL版,推荐使用哪种连接方式?

云原生数据仓库MySQL版完全兼容MySQL协议,基本上能访问MySQL的客户端都能用来访问云原生数据仓库MySQL版,推荐使用官方客户端DMS for AnalyticDB和开源工具DBeaver连接云原生数据仓库MySQL版。

报错文本如下:

Communications link failure,Thelast packet successfully received from the server was 0 millisecond ago.Thelast packet successfully sent to the server was YYYY millisecond ago
  1. 上述报错可以确定用户的JDBC URL错误或者网络不通。可以使用MySQL客户端测试是否可以连接数据库。

  2. 检查本地的MySQL驱动版本;我们支持的版本有如下所示。

    5.0系列:5.0.2,5.0.3,5.0.4,5.0.5,5.0.7,5.0.8

    5.1系列:5.1.1,5.1.2,5.1.3,5.1.4,5.1.5,5.1.6,5.1.7,5.1.8,5.1.11,5.1.12,5.1.13,5.1.14,5.1.15,5.1.16,5.1.17,5.1.18,5.1.19,5.1.20,5.1.21,5.1.22,5.1.23,5.1.24,5.1.25,5.1.26,5.1.27,5.1.28,5.1.29,5.1.31, 5.1.32, 5.1.33, 5.1.34

  3. 是否采用连接池连接云原生数据仓库MySQL版,若不是,请采用连接池连接,推荐采用Druid。

  4. 应用是否多线程访问云原生数据仓库MySQL版,线程之间是否共享使用Connection对象,如有,请修改,强烈建议不要在多线程之间共享使用Connection对象。

  5. 如果报错中的millisecond值不为0,则基本由耗时很长的查询导致,请在代码中加入重试机制。重试机制示例请参见Java访问-带重试的JDBC连接示例

云原生数据仓库MySQL版SQL语句中怎么加多个hint?

多个hint可以通过逗号进行分隔,示例如下。

/+engine=MPP, mppNativeInsertFromSelect=true/INSERT INTO db_name.target_table_name (col1, col2, col3)
SELECT col1, col2, col3 FROM db_name.source_table_name
WHERE col4 ='123';

如何解决使用MySQL Client时Hint无法正常生效的问题?

用户在进行MPP下DUMP的时候,通过MySQL客户端连接无法正常DUMP,hint没有被识别。

使用MySQL客户端连接云原生数据仓库MySQL版,需要指定-c参数进行连接,否则后续查询的hint可能无效。