Keettle (pdi-ce) 整库多表迁移(避坑)
创始人
2024-05-27 13:06:20
0

使用开源免费 Keettle 工具

1.下载与安装

官网地址:下载

下载9.3.0以上的,6.17.1我都尝试过,6.1导致很多莫名其妙问题,7.1数据库可以连接和预览,迁移的时候就会出现事务读问题,最后解决这个问题后,还会在迁移成功迁移了空记录。

所以直接上9.3省事。

2. 源、目标数据库环境

2.1 前期准备

准备好驱动版本、对应驱动的url链接、数据库名和具有读写权限的用户

2.2 前期操作

Keettle解压好后,先不急着打开,先将需要的源数据库和目标数据库驱动放到keettle(更名为了pdi-ce

image-20230301104401304

2.2 迁移准备

源数据库和目标数据库准备

image-20230301105307655

3. 数据库多表创建和复制

3.1 作业创建

设置完DB连接中源数据库和目标数据库后

接着找到菜单栏工具,依次进入工具- > 向导 -> 复制多表向导

毕竟是迁移数据库,如果单表就没必要这么麻烦了,所以单表步骤在复制单表向导,文章只讲多表。

image-20230301104620779

将刚刚创建好的DB连接选择源数据库和目标数据库

image-20230301105421121

接着可以多表选择哪些要创建和复制的,双击或者点击右箭头

image-20230301105547693

完成后,就会生成作业,如图

image-20230301104907063

如果你不想复制,就把右边复制作业删除,把创建作业进行连接,鼠标点击图标后不动,接着选择右边第一个图标

image-20230301124547350

3.2 检查建表SQL

3.3 放第三步是因为,作业是按顺序执行的,一个作业中断前面作业不会回滚,中断作业之后的不会执行,所以再次执行就会异常。

为了方便大家顺畅地做好数据库迁移工作,所以这里特意提醒一下:

  • 建议检查每个建表语句中的时间戳字段

一般在MySQL建表语句都需要设置默认值

timestamp TIMESTAMP # 修改前语句
timestamp TIMESTAMP null default CURRENT_TIMESTAMP # 修改后语句
  • 如果手动更改节点麻烦

你可以更改建表语句,添加上if not exists,这样其实也挺麻烦

create table if not exists [Table]

3.3 执行作业

image-20230301105700797

相关内容

热门资讯

司法部:加快培育国际一流仲裁机... 1月19日,司法部召开全国司法厅(局)长会议。会议强调,要深入学习贯彻习近平法治思想,贯彻落实中央全...
缓解两机场鸟击安全隐患!北京大... 1月19日,北京市大兴区人民检察院发布《公益诉讼检察白皮书(2017-2025)》及典型案例。据统计...
最高检:依法维护经济金融安全 ... 新华社北京1月19日电(记者刘硕)1月19日在京举行的全国检察长会议上,最高人民检察院对充分运用法治...
新修订《贵州省工会条例》强化保... 人民网贵阳1月19日电 (记者陈洁泉)1月19日,贵州省政府新闻办公室召开《贵州省工会条例》宣传解读...
最高检:依法维护经济金融安全 ... 每经AI快讯,1月19日在京举行的全国检察长会议上,最高人民检察院对充分运用法治力量服务高质量发展等...
太原海底捞出售“未来日期”麻酱... 2025年6月9日,陈女士买到了分装日期6月15日的花生芝麻调味酱 海报新闻首席记者 陈嘉伟 报道 ...
前《刺客信条》系列负责人因“被... IT之家 1 月 19 日消息,2025 年,育碧旗下《刺客信条》系列负责人、拥有 20 年从业资历...
千里归乡!北京律师团队把“法治... 湖南日报1月19日讯(全媒体见习记者 沈可心)“借钱给亲戚要不要写借条?”“陌生电话说中奖该怎么辨真...