金仓数据库数据迁移平台(KDTS: Kingbase Data Transformation Service)
是为用户提供 Oracle、Mysql、SQLServer、Gbase、PostgreSQL、DM、KingbaseES 数据库数据迁移到 KingbaseES数据库的数据迁移工具。
1、启动KDTS服务
因为服务器上已经部署了KingbaseES 企业版(试用),所以我们可以直接启动服务使用:
进入如下目录运行startup.sh启动脚本:
cd /data/KES/V9/ClientTools/guitools/KDts/KDTS-WEB/bin
kingbase@VM-10-12-ubuntu:/data/KES/V9/ClientTools/guitools/KDts/KDTS-WEB/bin$ ls
shutdown.bat shutdown.sh startup.bat startup.sh
之际执行进行启动KDTS WEB服务:查看日志文件内容:
可以看到JVM Running字段 说明服务已经正常启动了。
2、登录和验证服务
使用google浏览器,进行登录KDTS web服务输入账号密码登录进入该图是创建任务后补的截图因此有连接总数和任务安排总数。
3、创建源和目标端连接
1、创建mysql连接
需要输入连接名称:s-mysql #代表源端mysql数据库
数据库类型选择:mysql ;数据库版本选择:8.0 (本次迁移为8.4.3)
输入服务器地址以及数据库端口#根据实际情况填写
输入对应的用户密码 #本次用root是方便后边使用可以根据实际情况进行选择
输入要同步的数据库名称 #本次输入artemis
输入必填字段后进行测试连接,显示测试成功后,点击确定即可
2、建目标端kingbase的连接
需要输入连接名称:t-kingbase #代表目标端kingbase数据库
数据库类型选择:KINGBASE
数据库版本选择:V9
输入服务器地址以及数据库端口#根据实际情况填写
输入对应的用户密码 #本次用system是方便后边使用可以根据实际情况进行选择
输入要同步的数据库名称 #本次输入artemis
输入必填字段后进行测试连接,显示测试成功后,点击确定即可
PS: 本次迁移前已在金仓数据库创建相应数据库和用户并授权,参考脚本如下:
-- 创建数据库(金仓数据库使用ENCODING代替CHARACTER SET) CREATE DATABASE IF NOT EXISTS artemis ENCODING 'UTF8'; -- 创建用户(金仓数据库使用PASSWORD关键字) CREATE USER artemis WITH PASSWORD 'yo1250hoQWSOzWI3yusY'; -- 授予权限(金仓数据库使用ALL PRIVILEGES语法) GRANT ALL PRIVILEGES ON DATABASE artemis TO artemis;
PS:
金仓数据库使用ENCODING代替MySQL的CHARACTER SET
用户创建语法略有不同,金仓使用WITH PASSWORD
权限授予方式不同,金仓使用GRANT ALL PRIVILEGES ON DATABASE
如果要授予所有权限,最简便的方法是设置为SUPERUSER
金仓数据库不需要执行FLUSH PRIVILEGES命令
对于collation的设置,金仓使用LC_COLLATE和LC_CTYPE参数
4、创建迁移任务
1、点击迁移任务管理---->迁移任务---->新建迁移任务
2、新建迁移任务
3、选取要迁移的schema,本次先进行选择artemis进行迁移进行下一步
根据实际情况进行修改配置,本次使用默认,然后进行保存。
5、启动迁移任务
查看结果:
点击详情进行查看:进行点击错误进行查看和处理。
总结
使用KDTS进行mysql至Kingbase数据库的迁移基本上已经结束了,对于跨数据库迁移还是很好用很方便的,
如上图后边可以针对报错记录,进行查看和处理,后边会单独开一个文档进行说明问题和处理方法,主要是后边还有多个database进行迁移,然后进行一起归纳整理。