开发者社区 问答 正文

如何处理DataWorks数据集成中测试连通性失败的问题?

如何处理DataWorks数据集成中测试连通性失败的问题?

展开
收起
芯在这 2021-12-08 10:25:33 1042 分享 版权
1 条回答
写回答
取消 提交回答
  • (1)首先,应该判断该数据源是否支持“测试连通性”

    遇到测试连通性问题,首先应该判断该数据源是否支持“测试连通性”,请注意,通过经典网络或VPC网络的跨区域访问,是不保证连通性的,但RDS产品除外,也就是说本案例中的数据源是支持测试连通性的。

    (2)数据源是否配置了完整的白名单

    接下来,我们看下是否在Mysql数据库配置了白名单。请注意添加您的项目所在region的白名单,而非您的数据源所在region的白名单)。

    (3)数据源配置页面的信息是否正确

    接下来需要核实该数据源配置页面的信息是否正确了。 经过核实,RDS实例ID、RDS实例购买者ID、数据库名、用户名、密码,均没有任何问题。而且,用此处填写的数据库名、用户名、密码可以成功登陆Mysql数据库

    (4)通过公网连接,“测试连通性”是否能成功

    上述数据源配置页面,在“数据源类型”选择的是“阿里云数据库(RDS)”,即通过内网连接。接下来尝试下在“数据源类型”选择“有公网IP”,即尝试下通过公网连接,“测试连通性”是否能成功,但测试结果依然失败,并且报错依然是“Access denied”,并且121.43.110.160这个ip也在配置的白名单中。

    (5)核查数据库账号的权限

    既然上述配置、白名单等都没问题,那接下来看下该数据库账号(这里假设是zhangsan)的权限问题。 DataWorks的数据集成功能,底层是通过开源工具DataX来进行同步的,DataX是通过select操作去数据源中读取数据的,下图是一个同步任务的日志,从日志中可以看到,同步任务是通过执行select语句去读取数据的。

    也就是说,用户必须能够登录数据库,并有select权限,才能进行数据同步。那我们首先看下用户’zhangsan’的权限和属性。 登录Mysql数据库后,执行:

    2021-12-08 10:30:10
    赞同 展开评论