使用开源免费 Keettle 工具
1.下载与安装
官网地址:下载
下载9.3.0
以上的,6.1
、7.1
我都尝试过,6.1导致很多莫名其妙问题,7.1数据库可以连接和预览,迁移的时候就会出现事务读问题,最后解决这个问题后,还会在迁移成功迁移了空记录。
所以直接上9.3
省事。
2. 源、目标数据库环境
2.1 前期准备
准备好驱动版本、对应驱动的url链接、数据库名和具有读写权限的用户
2.2 前期操作
Keettle
解压好后,先不急着打开,先将需要的源数据库和目标数据库驱动放到keettle
(更名为了pdi-ce
)
2.2 迁移准备
源数据库和目标数据库准备
3. 数据库多表创建和复制
3.1 作业创建
设置完DB连接中源数据库和目标数据库后
接着找到菜单栏工具,依次进入工具- > 向导 -> 复制多表向导
毕竟是迁移数据库,如果单表就没必要这么麻烦了,所以单表步骤在复制单表向导,文章只讲多表。
将刚刚创建好的DB连接选择源数据库和目标数据库
接着可以多表选择哪些要创建和复制的,双击或者点击右箭头
完成后,就会生成作业,如图
如果你不想复制,就把右边复制作业删除,把创建作业进行连接,鼠标点击图标后不动,接着选择右边第一个图标
3.2 检查建表SQL
将3.3
放第三步是因为,作业是按顺序执行的,一个作业中断前面作业不会回滚,中断作业之后的不会执行,所以再次执行就会异常。
为了方便大家顺畅地做好数据库迁移工作,所以这里特意提醒一下:
- 建议检查每个建表语句中的时间戳字段
一般在MySQL
建表语句都需要设置默认值
timestamp TIMESTAMP # 修改前语句
timestamp TIMESTAMP null default CURRENT_TIMESTAMP # 修改后语句
- 如果手动更改节点麻烦
你可以更改建表语句,添加上if not exists
,这样其实也挺麻烦
create table if not exists [Table]