【YashanDB知识库】Kettle迁移MySQL到YashanDB

概述

由于YMP不支持Latin1字符集MySQL数据库,导致MySQL的中文数据迁移到YashanDB,变成乱码。因此使用Kettle迁移可以规避该问题。

因此本文介绍了两种环境的Kettle使用方式进行数据迁移。这两种环境分别是Windows环境和Linux环境:Windows环境可以使用图形界面,便于调试;Linux环境一般处于源或者目标数据库直接相连的网络,所以网络性能最佳。请根据自己的环境和业务需要,使用最佳执行方式进行数据迁移。

环境

Kettle版本:8.3

JAVA版本:1.8

源MySQL:版本5.7,字符集Latin1

目标YashanDB:23.2.1.100

执行方式

Kettle既可以在Windows执行,也可以在Linux执行,请根据自己的环境和业务需要,使用最佳执行方式进行数据迁移。

Windows执行Kettle

1、确保Windows当前JAVA环境是JAVA 1.8。如果当前Windows环境存在多个JAVA版本,而默认JAVA环境不是JAVA 1.8,则可以通过Windows环境变量保证Kettle使用JAVA 1.8,例如示例:

PENTAHO_JAVA设置为C:\Program Files\Java\jre-1.8\bin\java.exe

PENTAHO_JAVA_HOME设置为C:\Program Files\Java\jre-1.8

image2024-7-1_9-40-16

2、解压作业zip包 - job_kettle_MySQL2YashanDB.zip,放置在Kettle所在目录。

image2024-7-1_9-44-46

3、在Kettle所在目录运行Spoon.bat,启动图形操作界面。

image2024-7-1_9-46-7

4、打开syncData_MySQL_YashanDB.kjb,这个任务是总任务,它封装了多个子任务用于从mysql迁移数据到崖山。

image2024-7-1_9-46-37

5、打开getDatas_MySQL_YashanDB,这个任务是实际执行从mysql迁移数据到崖山的任务,封装了DB连接,需要根据实际环境进行调整和测试,确保后续配置DB连接MySQLInput和YashanOutput的步骤都测试成功。

image2024-7-1_9-47-6

6、修改getDatas_MySQL_YashanDB的DB连接MySQLInput,连接类型使用MySQL,然后输入MySQL的主机地址、数据库名字、端口号、用户名和密码,点击“测试”,测试通过后选择“确认”。

image2024-7-1_9-47-59

7、修改getDatas_MySQL_YashanDB的DB连接YashanOutput,连接类型使用Generic database,连接方式使用Native(JDBC),设置自定义JDBC URL(jdbc:yasdb://YashanDB_IP:YashanDB_PORT/YashanDB_User)和JDBC驱动类名称,并输入用户名和密码,点击“测试”,测试通过后选择“确认”。

image2024-7-1_9-48-42

8、修改DB连接MySQLInput和YashanOutput后,getDatas_MySQL_YashanDB配置处于未保存状态,请务必对该任务进行保存。

image2024-7-1_9-49-35

9、修改tablelist_MySQL_YashanDB.csv,这个配置文件用于指定mysql需要迁移的库表名,注意这里需要和mysql的库表大小写保持一致,例如:

owner,table_name

test,sys_log

注意:1) owner这一列对应于mysql的database;2) tablelist_MySQL_YashanDB.csv最后一行不能为空行。

image2024-7-1_9-51-8

10、切换回syncData_MySQL_YashanDB.kjb,执行运行即可。

image2024-7-1_9-51-49

11、确保数据迁移作业成功完成,如果迁移失败,可查看运行日志,定位原因并修复问题,然后重试迁移即可(注意:每次同步之前会将目标库中目标表truncate,所以保证重试不会存在数据重复或者冲突的问题)。

image2024-7-1_9-52-29

Linux执行Kettle

1、确保Linux当前JAVA环境是JAVA 1.8。

<

[yashan@mysql57 ~]$ java -version

java version "1.8.0_381"

Java(TM) SE Runtime Environment (build 1.8.0_381-b09)

Java HotSpot(TM) 64-Bit Server VM (build 25.381-b09, mixed mode)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值