原作者:陈一帆
MTK是云和恩墨数据库 MogDB 配套的数据库迁移工具(Database Migration Toolkit)。由于 MogDB 是基于 openGauss 内核打造的企业级关系型数据库商业发行版,所以在以 openGauss 为目标库的迁移任务上,MTK在适配兼容等方面具有天然优势。其次它也可以将数据从一种数据库迁移到另一种不同类型的数据库,比如从Oracle、DB2、Mysql中同步表结构和全量数据。MTK迁移工具的优势在于它可以提供高效、可靠、安全的数据迁移解决方案。它能够实现快速迁移大规模数据,同时保证数据的完整性和一致性。此外,MTK迁移工具还支持多种数据格式和数据源,可以适应不同的数据迁移需求。
MTK的安装
1.去官网下载MTK压缩包到本地,下载地址:发布记录 | MogDB Docs
2.在虚机中创建一个名为mtk的文件夹用于存放压缩包以及后续生成的文件
[root@localhost /]# mkdir mtk
[root@localhost /]# ll
总用量 28
lrwxrwxrwx. 1 root root 7 11月 21 01:08 bin -> usr/bin
dr-xr-xr-x. 6 root root 4096 11月 21 01:18 boot
drwxr-xr-x. 9 mysql mysql 96 3月 2 17:41 data
drwxr-xr-x. 20 root root 3320 12月 22 00:26 dev
drwxr-xr-x. 147 root root 8192 3月 8 16:14 etc
drwxr-xr-x. 4 root root 30 3月 2 17:41 home
lrwxrwxrwx. 1 root root 7 11月 21 01:08 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 11月 21 01:08 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 4月 11 2018 media
drwxr-xr-x. 2 root root 6 4月 11 2018 mnt
drwxr-xr-x. 2 root root 6 3月 14 17:37 mtk //查看到刚创建的文件夹
drwxr-xr-x. 11 root root 144 3月 10 19:25 opt
dr-xr-xr-x. 290 root root 0 12月 22 00:26 proc
dr-xr-x---. 6 root root 4096 3月 14 17:35 root
drwxr-xr-x. 45 root root 1300 3月 14 08:57 run
lrwxrwxrwx. 1 root root 8 11月 21 01:08 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 4月 11 2018 srv
dr-xr-xr-x. 13 root root 0 12月 22 00:26 sys
drwxrwxrwt. 15 root root 4096 3月 14 10:03 tmp
drwxr-xr-x. 13 root root 155 11月 21 01:08 usr
drwxr-xr-x. 22 root root 4096 11月 21 01:19 var
3.使用MobaXterm将下载好的压缩包上传到虚机中
[root@localhost /]# cd mtk
[root@localhost mtk]# ll //未上传时查看
总用量 0
[root@localhost mtk]# ll //上传到虚机后查看到上传成功
总用量 16364
-rw-r--r--. 1 root root 16752836 3月 14 17:39 mtk_2.8.2_linux_amd64.tar.gz
4.解压上传的压缩包
[root@localhost mtk]# tar -zxvf mtk_2.8.2_linux_amd64.tar.gz
mtk_2.8.2_linux_amd64/CHANGELOG.md
mtk_2.8.2_linux_amd64/README.md
mtk_2.8.2_linux_amd64/example/db22mogdb.json
mtk_2.8.2_linux_amd64/example/db22mogdb.yaml
mtk_2.8.2_linux_amd64/example/db22mysql.json
mtk_2.8.2_linux_amd64/example/db22mysql.yaml
mtk_2.8.2_linux_amd64/example/informix2mogdb.json
mtk_2.8.2_linux_amd64/example/informix2mogdb.yaml
mtk_2.8.2_linux_amd64/example/mysql2mogdb.json
mtk_2.8.2_linux_amd64/example/mysql2mogdb.yaml
mtk_2.8.2_linux_amd64/example/oracle2mogdb.json
mtk_2.8.2_linux_amd64/example/oracle2mogdb.yaml
mtk_2.8.2_linux_amd64/example/pg2mogdb.json
mtk_2.8.2_linux_amd64/example/pg2mogdb.yaml
mtk_2.8.2_linux_amd64/example/sqlserver2mogdb.json
mtk_2.8.2_linux_amd64/example/sqlserver2mogdb.yaml
mtk_2.8.2_linux_amd64/mtk
5.申请license 需要在联网环境下进行
[root@localhost mtk_2.8.2_linux_amd64]# ./mtk license gen
按照要求填写邮箱等信息,收到邮件后将文件保存至本机,并上传到虚机中刚刚所创建的mtk的文件夹当中
在完成以上操作后就完成了MTK的安装,下面简单介绍一下迁移配置文件以及迁移后生成的迁移日志等信息
在example中有配置文件的示例
[root@localhost mtk_2.8.2_linux_amd64]# cd example/
[root@localhost example]# ll
总用量 84
-rw-r--r--. 1 root root 4338 2月 17 14:25 db22mogdb.json
-rw-r--r--. 1 root root 3434 2月 17 14:52 db22mogdb.yaml
-rw-r--r--. 1 root root 4296 2月 17 14:25 db22mysql.json
-rw-r--r--. 1 root root 3401 2月 17 14:52 db22mysql.yaml
-rw-r--r--. 1 root root 4357 2月 17 14:25 informix2mogdb.json
-rw-r--r--. 1 root root 3453 2月 17 14:52 informix2mogdb.yaml
-rw-r--r--. 1 root root 4338 2月 17 14:25 mysql2mogdb.json
-rw-r--r--. 1 root root 3434 2月 17 14:52 mysql2mogdb.yaml
-rw-r--r--. 1 root root 4343 2月 17 14:25 oracle2mogdb.json
-rw-r--r--. 1 root root 3439 2月 17 14:52 oracle2mogdb.yaml
-rw-r--r--. 1 root root 4366 2月 17 14:25 pg2mogdb.json
-rw-r--r--. 1 root root 3462 2月 17 14:52 pg2mogdb.yaml
-rw-r--r--. 1 root root 4353 2月 17 14:25 sqlserver2mogdb.json
-rw-r--r--. 1 root root 3449 2月 17 14:52 sqlserver2mogdb.yaml
在使用MTK进行迁移时需要的配置文件可以新建一个文件夹用来储存配置文件以及迁移后所产生的文件
[root@localhost mtk_2.8.2_linux_amd64]# cd my2mg/
[root@localhost my2mg]# ll
总用量 0
drwxr-xr-x. 4 root root 69 3月 30 10:02 config
drwxr-xr-x. 3 root root 20 3月 16 19:50 data
drwxr-xr-x. 2 root root 6 3月 15 15:57 report
drwxr-xr-x. 2 root root 6 3月 15 15:57 schema
在执行迁移命令是要注意所在路径
以下为简单示例在执行命令时的情况
[root@localhost config]# /mtk/mtk_2.8.2_linux_amd64/mtk -c /mtk/mtk_2.8.2_linux_amd64/my2mg/config/mtk.json
Using license file: /mtk/mtk_2.8.2_linux_amd64/license.json
Name : yifan.***1@enmotech.com
Expiry: 2023-04-06 14:10:22.859791805 +0800 CST
MMMMMMMM MMMMMMMMTTTTTTTTTTTTTTTTTTTTTTTKKKKKKKKK KKKKKKK
M:::::::M M:::::::MT:::::::::::::::::::::TK:::::::K K:::::K
M::::::::M M::::::::MT:::::::::::::::::::::TK:::::::K K:::::K
M:::::::::M M:::::::::MT:::::TT:::::::TT:::::TK:::::::K K::::::K
M::::::::::M M::::::::::MTTTTTT T:::::T TTTTTTKK::::::K K:::::KKK
M:::::::::::M M:::::::::::M T:::::T K:::::K K:::::K
M:::::::M::::M M::::M:::::::M T:::::T K::::::K:::::K
M::::::M M::::M M::::M M::::::M T:::::T K:::::::::::K
M::::::M M::::M::::M M::::::M T:::::T K:::::::::::K
M::::::M M:::::::M M::::::M T:::::T K::::::K:::::K
M::::::M M:::::M M::::::M T:::::T K:::::K K:::::K
M::::::M MMMMM M::::::M T:::::T KK::::::K K:::::KKK
M::::::M M::::::M TT:::::::TT K:::::::K K::::::K
M::::::M M::::::M T:::::::::T K:::::::K K:::::K
M::::::M M::::::M T:::::::::T K:::::::K K:::::K
MMMMMMMM MMMMMMMM TTTTTTTTTTT KKKKKKKKK KKKKKKK
[2023-03-21 16:00:14.284289] INFO Release version: v2.8.2
Git Commit hash: 35d12046
Git Commit Date: 2023-02-23T01:23:39Z
Git Tag : v2.8.2
Build timestamp: 20230223012556
迁移成功生成的文件位置取决于执行迁移命令位置:
[root@localhost report]# pwd
/mtk/mtk_2.8.2_linux_amd64/my2mg/config/report
[root@localhost config]# cd report/
[root@localhost report]# ll
总用量 72
-rw-r--r-- 1 root root 21676 3月 21 16:00 report_20230321160014.log
drwxr-x--- 3 root root 90 3月 21 16:00 report_20230321160016
-rw-r--r-- 1 root root 219 3月 21 16:00 report_20230321160016.err
-rw-r--r-- 1 root root 17771 3月 21 16:00 report_20230321160016.txt
-rw-r--r-- 1 root root 221 3月 21 16:00 report_20230321160016.warring
-rwxr-xr-x 1 root root 18530 3月 21 16:00 report_20230321160016.xlsx
迁移后在如下路径找到.html文件 可以将其所在文件夹下载到本地后打开打开
[root@cyfgaussdb report]# ll
total 88
-rw-r--r--. 1 root root 29820 Mar 24 16:08 report_20230324160827.log
drwxr-x---. 3 root root 90 Mar 24 16:08 report_20230324160829
-rw-r--r--. 1 root root 2201 Mar 24 16:08 report_20230324160829.err
-rw-r--r--. 1 root root 28058 Mar 24 16:08 report_20230324160829.txt
-rw-r--r--. 1 root root 2846 Mar 24 16:08 report_20230324160829.warring
-rwxr-xr-x. 1 root root 19544 Mar 24 16:08 report_20230324160829.xlsx
[root@cyfgaussdb report]# cd report_20230324160829/
[root@cyfgaussdb report_20230324160829]# pwd
/mtk/mtk_2.8.3_linux_amd64/report/report_20230324160829
[root@cyfgaussdb report_20230324160829]# ll
total 60
-rw-r--r--. 1 root root 20367 Mar 24 16:08 data.js
-rw-r--r--. 1 root root 14796 Mar 24 16:08 data.js.gz
-rw-r--r--. 1 root root 16958 Mar 24 16:08 favicon.ico
-rw-r--r--. 1 root root 668 Mar 24 16:08 index.html
drwxr-x---. 5 root root 38 Mar 24 16:08 static
打开网页同样可以看到迁移的信息
mtk
安装
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




