检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
创建MySQL连接器 MySQL连接适用于第三方云MySQL服务,以及用户在本地数据中心或ECS上自建的MySQL。本教程为您介绍如何创建MySQL连接器。 前提条件 已获取连接MySQL数据库的IP地址、端口、数据库名称、用户名、密码,且该用户拥有MySQL数据库的读写权限。
云数据库MySQL/MySQL数据库连接参数说明 连接MySQL数据库连接时,相关参数如表1所示。 作业运行中禁止修改密码或者更换用户。在作业运行过程中修改密码或者更换用户,密码不会立即生效且作业会运行失败。 表1 MySQL数据库连接参数 参数名 说明 取值样例 名称 连接的名
配置MySQL源端参数 作业中源连接为云数据库MySQL/MySQL数据库连接时,源端作业参数如表1所示。 表1 MySQL作为源端时的作业参数 参数名 说明 取值样例 使用SQL语句 导出关系型数据库的数据时,您可以选择使用自定义SQL语句导出。 否 SQL语句 “使用SQL语
排查客户Mysql数据库是否异常,将日志中打印查询源端的sql在Mysql客户端执行,看是否报错以及报错情况: 发现执行查询语句,全表查询,报错“Lost connection to MySQL server during query”,再次尝试执行count语句,查询数据,发现成功。
创建MySQL连接器 MySQL连接适用于第三方云MySQL服务,以及用户在本地数据中心或ECS上自建的MySQL。本教程为您介绍如何创建MySQL连接器。 前提条件 已获取连接MySQL数据库的IP地址、端口、数据库名称、用户名、密码,且该用户拥有MySQL数据库的读写权限。
所示。 图2 选择连接器类型 选择“MySQL”后单击“下一步”,配置MySQL连接的参数。 单击“显示高级属性”可查看更多可选参数,具体请参见配置云数据库MySQL/MySQL数据库连接。这里保持默认,必填参数如表1所示。 表1 MySQL连接参数 参数名 说明 取值样例 名称
所示。 图2 选择连接器类型 选择“MySQL”后单击“下一步”,配置MySQL连接的参数。 单击“显示高级属性”可查看更多可选参数,具体请参见配置云数据库MySQL/MySQL数据库连接。这里保持默认,必填参数如表1所示。 表1 MySQL连接参数 参数名 说明 取值样例 名称
名称 输入便于记忆和区分的连接名称。 mysqllink 数据库服务器 MySQL数据库的IP地址或域名。 - 端口 MySQL数据库的端口。 3306 数据库名称 MySQL数据库的名称。 sqoop 用户名 拥有MySQL数据库的读、写和删除权限的用户。 admin 密码 用户的密码。
名称 输入便于记忆和区分的连接名称。 mysqllink 数据库服务器 MySQL数据库的IP地址或域名。 - 端口 MySQL数据库的端口。 3306 数据库名称 MySQL数据库的名称。 sqoop 用户名 拥有MySQL数据库的读、写和删除权限的用户。 admin 密码 用户的密码。
示。 映射MySQL表和Hive表字段,Hive表比MySQL表多三个字段y、ym、ymd,即是Hive的分区字段。由于没有源表字段直接对应,需要配置表达式从源表的StartDate字段抽取。 图7 Hive字段映射 单击进入转换器列表界面,再选择“新建转换器 > 表达式转换”,如图8所示。
自动创表:选择“不存在时创建”,当RDS数据库中没有本地MySQL数据库里的表时,CDM会自动在RDS数据库中创建那些表。 导入开始前:选择“是”,当RDS数据库中存在与本地MySQL数据库重名的表时,CDM会清除RDS中重名表里的数据。 约束冲突处理:选择“insert into”,当迁移数据出现唯一约束冲突时的处理方式。
名称 输入便于记忆和区分的连接名称。 mysqllink 数据库服务器 MySQL数据库的IP地址或域名。 - 端口 MySQL数据库的端口。 3306 数据库名称 MySQL数据库的名称。 sqoop 用户名 拥有MySQL数据库的读、写和删除权限的用户。 admin 密码 用户的密码。
自动创表:选择“不存在时创建”,当RDS数据库中没有本地MySQL数据库里的表时,CDM会自动在RDS数据库中创建那些表。 导入开始前:选择“是”,当RDS数据库中存在与本地MySQL数据库重名的表时,CDM会清除RDS中重名表里的数据。 约束冲突处理:选择“insert into”,当迁移数据出现唯一约束冲突时的处理方式。
故障分析 RDS-Mysql和开源Mysql对于date类型的范围不一致。 开源Mysql的date范围一般为1000-01-0到9999-12-21,而RDS-Mysql支持date范围小于1000-01-0。使用开源Mysql驱动连接RDS-Mysql,在date范围小于1000-0
作业名称:输入便于记忆、区分的作业名称,例如:“mysql2dws”。 源端作业配置 源连接名称:选择步骤2:创建连接章节中创建的MySQL连接“mysqllink”。 使用SQL语句:选择“否”。 模式或表空间:选择从MySQL的哪个数据库导出表。 表名:选择导出哪张表。 其他可选参数保持默认即可
或列值不离散,查询会全表扫描,导致JDBC连接超时。 图1 非索引列 解决方案 优先联系DBA修改表结构,将需要过滤的列配置为索引列,然后重试。 如果由于数据不离散,导致还是失败请参考2~4,通过增大JDBC超时时间解决。 根据作业找到对应的MySQL连接名称,查找连接信息。 图2
对于DWS来说,TINYINT类型,取值范围是 0 ~ 255,源端是Mysql,有“-1”这种负值,推荐客户使用 SMALLINT(取值范围:-32,768 ~ +32,767)建表。 Hive和MySQL的TINYINT类型取值范围都是[-128,127],而DWS的TINYINT类型取值范围是[0
CDM连接RDS-Mysql ,除root用户外,其他用户都报错 解决方案 登录服务器,运行命令进入数据库:mysql -u root –p,然后输入密码。 mysql>use mysql; 授权: 例如想root使用123456从任何主机连接到mysql服务器: mysql>GRANT
修改目的端建表语句,INT类型为BOOL类型; 源端修改MySql参数,将该"mysql.bool.type.transform"参数设置为"false"。 其中第二种方式可以在CDM的Mysql连接器高级属性中添加: 连接管理-Mysql连接-高级属性-添加参数 mysql.bool
指定的表时,CDM会自动创建该表。如果“表名”参数配置的表已存在,则不创建,数据写入到已存在的表中。 先删除后创建:CDM先删除“表名”参数中指定的表,然后再重新创建该表。 不自动创建 表名 写入数据的目标表名,单击输入框后面的按钮可进入表的选择界面。 该参数支持配置为时间宏变量