Keettle (pdi-ce) 整库多表迁移(避坑)

news2024/10/1 11:13:14

使用开源免费 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/380523.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

探针台简介

探针台,是我们半导体实验室电学性能测试的常用设备,也是各大实验室以及芯片设计、封装测试的熟客。设备具备各项优势,高性能低成本,用途广,操作方便,在不同测试环境下,测试结果稳定,…

CV——day80 读论文:DLT-Net:可行驶区域、车道线和交通对象的联合检测

DLT-Net:可行驶区域、车道线和交通对象的联合检测I. INTRODUCTIONII. ANALYSIS OF PERCEPTIONIV. DLT-NETA. EncoderB. Decoder1) Drivable Area Branch(可行驶区域分支)2) Context Tensor(上下文张量)3) Lane Line Branch(车道线分支)4) Traffic Object Branch(目标检测对象分…

三天吃透Redis面试八股文

本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址:https://github.com/…

Canvas入门-01

导读: 读完全文需要2min。通过这篇文章,你可以了解到以下内容: Canvas标签基本属性如何使用Canvas画矩形、圆形、线条、曲线、笑脸😊 如果你曾经了解过Canvas,可以对照目录回忆一下能否回答上来 毕竟带着问题学习最有效…

数据湖架构Hudi(三)Hudi核心概念

三、Apache Hudi核心概念 3.1 基本概念 Hudi 提供了Hudi 表的概念, 这些表支持CRUD操作, 可以利用现有的大数据集群比如HDFS做数据文件存储, 然后使用SparkSQL或Hive等分析引擎进行数据分析查询。 Hudi表的三个主要组件: 有序的…

JavaScript Number 数字对象

文章目录JavaScript Number 数字对象JavaScript 数字所有 JavaScript 数字均为 64 位精度八进制和十六进制无穷大(Infinity)NaN - 非数字值数字可以是数字或者对象数字属性数字方法JavaScript Number 数字对象 JavaScript 只有一种数字类型。 可以使用也…

书城项目—图书分页

图书分页 1. 分页模块的分析 2. 分页模型Page的抽取 public class Page<T> { public static final Integer PAGE_SIZE 4; // 当前页码 private Integer pageNo; // 总页码 private Integer pageTotal; // 当前页显示数量 private Integer pageSize PAGE_SIZE; // 总记…

数字映射:数字孪生技术的应用场景及作用

对于许多行业来说&#xff0c;数字孪生技术是未来。数字孪生定义数字孪生不仅仅是某物的副本或克隆&#xff0c;它是对象或系统的动态实时表示。数字孪生是一种虚拟模型&#xff0c;旨在准确反映物理对象。是物理对象、流程、服务或环境的数字表示&#xff0c;其行为和外观与现…

SCI 写作-Latex中算法排版

目录: 一、核心内容二、五个实例三、缩进控制一、核心内容 Latex 写作SCI中,经过会遇到算法的排版,以下给出5个实例。需要的宏包: \usepackage{algorithm} \usepackage{algorithmic} 二、五个实例 多角度介绍 algorithmic,algorithm 在算法排版中的使用。 (1)例1 \…

【Java基础】Java Lambda表达式详解

Lambda 表达式&#xff0c;即函数式编程是 JDK8 的一个新特性&#xff0c;也被称为闭包&#xff0c;Lambda表达式允许把函数作为一个方法的参数&#xff0c;即行为参数化&#xff0c;函数作为参数传递进方法中。Lambda表达式可以取代大部分的匿名内部类&#xff0c;写出更优雅的…

前端开发规范,你真的了解吗?一起来学习一下前端开发规范,让你的代码高级起来!

代码规范 1 编码风格规范 1.1 使用ES6风格编码源码 定义变量使用let ,定义常量使用const 使用export &#xff0c;import 模块化 1.2 组件 props 原子化 提供默认值 使用 type 属性校验类型 使用 props 之前先检查该 prop 是否存在 1.3 避免 this.$parent 1.4 谨慎使用 …

文献阅读(46)——MPViT

文献阅读&#xff08;46&#xff09;——MPViT 文章目录文献阅读&#xff08;46&#xff09;——MPViTMPViT先验知识/知识拓展文章结构文章结果1. ImageNet 分类2. 物体检测和实例分割3. 语义分割方法1. MPViT architecture2. MS-Patch Embed Block3. MP-Transformer Block ![在…

【超级超级无敌好用的三个实用网站,用完就走,尽显渣男本色】

今天我来给大家分享超级超级无敌好用的三个实用网站&#xff0c;用完就走&#xff0c;尽显渣男本色&#xff0c;如果你觉得有帮助&#xff0c;点了赞吧&#xff0c;创作不易&#xff0c;关注再走&#xff0c;后续更精彩。 一. tinywow 首先我们推荐的是国外一款在线实用网站工…

面试题CSS篇(一)

目录 一、flex布局 1、基本概念 2、容器属性 &#xff08;1&#xff09;flex-direction 决定主轴的方向&#xff08;即项目的排列方向&#xff09; &#xff08;2&#xff09; flex-wrap &#xff08;3&#xff09;flex-flow &#xff08;4&#xff09;justify-content…

【ECNU】3633. 双人旋转赛车(C++)

目录 题目 输入格式 输出格式 样例 提示 思路 代码 题目 单点时限: 2.0 sec 内存限制: 1024 MB oxx 和 Xiejiadong 在玩一个双人旋转赛车的小游戏。 他们将进行一些比赛。每局比赛必须按顺序进行&#xff0c;胜者会得到该局对应的分数 xi。 由于 oxx 技艺不精&#…

PMP®考试抽中审查提供的材料

PMP审查流程&#xff1a;属于第一类的申请者&#xff08;学士学位或同等学位及以上&#xff09;1&#xff0e; 核实学士学位或同等学位2&#xff0e; 核实项目管理经验3&#xff0e; 核实35小时的项目管理教育属于第二类的申请者&#xff08;高中、大专或同等学历&#xff09;1…

解决httprunner3.x上$符号无法当成普通符号用的方法

前言 由于要测试的api中会涉及$符号的传递, 要求其放在参数中当一个普通符号使用, 但由于httprunner框架处理逻辑, 会将如$coe当成一个变量, 从而报错找不到该变量的值 现象 接口某参数为: coeConfig$coal$08d99cca03a84d1d9e9a49b4534bb598运行时框架会抛出异常: 分析 研读框…

iphone系统崩溃数据能恢复吗?教你三招方法

最近有些苹果用户反应自己手机的屏幕无法滑动&#xff0c;桌面上APP也无法点开&#xff0c;想要关机重启下试试&#xff0c;可是&#xff0c;连关机都关不了&#xff0c;甚至连Siri都罢工了。苹果手机系统崩溃&#xff0c;出现黑屏、白屏、无限重启之类的故障&#xff0c;导致手…

rtthread 线程

创建动态线程最简单代码 #include <rtthread.h>//包含头文件static rt_thread_t thread1 RT_NULL; //创建线程控制块指针&#xff0c;指向空static void thread1_entry(void *parameter)//线程入口&#xff08;干什么&#xff09; {rt_kprintf("do something"…

ChatGPT 爆火,社交应用如何 Get 新技能

风浪越大&#xff0c;鱼越贵。关注【融云全球互联网通信云】了解更多 现在&#xff0c;最大的浪无疑属于 ChatGPT&#xff0c;一款以对话方式进行交互的语言模型。 通过创新业务打下江山的商业传奇们&#xff0c;都怕跟丢了这波浪潮而成为“上一代人”。所以&#xff0c;我们…