源端MySQL迁移评估
DTS提供离线迁移评估工具帮助用户了解源库现状、提供评估结果为用户使用DTS迁移到目标库提供可行性参考。
1.准备环境
1.1 环境要求
- 部署环境只需网络上可连接到MySQL数据库的机器即可,建议不要在待评估的数据库设备上运行。
-
部署环境最低应满足以下配置要求:
- 操作系统:Linux(其他操作系统暂不支持)
- 网络:能够连接到待采集的源数据库。
- CPU:1 core。
- 内存:4 GB。
- 硬盘:5 GB 空余。
- PHP:已安装PHP 5及以上版本运行环境
1.2 部署工具
下载压缩包到本地并解压:
Linux:{迁移评估工具压缩包}
1.3 评估账号授权
使用root权限登录待评估MySQL数据库实例,为评估账号dts_user授权,并设置密码为DTSPASSWORD。
grant SELECT,SHOW VIEW,SUPER on *.* to 'dts_user'@'IP' IDENTIFIED BY 'DTSPASSWORD';
2.执行迁移评估
2.1 填写配置文件
进入dts_analysis目录,填写配置文件check_instance.conf。该文件内容是以JSON格式存储的MySQL数据库连接信息, 可填写多个连接信息执行批量评估。
填写示例:
{
"check_instance" : [
{
"host" : "127.0.0.1",
"port" : "55555",
"user" : "dts_user",
"password" : "DTSPASSWORD"
},
{
"host" : "127.0.0.1",
"port" : "55555",
"user" : "dts_user",
"password" : "DTSPASSWORD"
}
]
}
填写完成后保存并退出。
2.2 执行迁移评估
在dts_analysis目录下,执行命令启动迁移评估:
php dts_analysis.php check_instance.conf
3.查看评估结果
输出结果每行表示一条记录, 共有3种不同的记录。
3.1 ERROR记录
如下所示, 表示脚本运行期间遇到的错误:
[ERROR] 127.0.0.1:5555: Init connection failed ===>> (表示连接IP为127.0.0.1, 端口为5555的MySQL实例是错误)
3.2 Unsupport记录
如下所示, 表示DTS不支持的迁移场景:
[unsupport] 127.0.0.1:55555: [UnsupportColumnDataType] tb_name: dtstest.test_dts3, column_name: g, data_type: geometry ===>> (表示MySQL的dtstest.test_dts3表存在一列类型为geometry> 的列, 该类型DTS不支持迁移)
3.3 Risk记录
如下所示, 表示DTS迁移有风险的情况, 需要人工介入判断:
[risk] 127.0.0.1:55555: [UnknownTableEngine] tb_name: dtstest.test_dts2, table_engine: MEMORY ===> (表示MySQL 127.0.0.1:55555的表dtstest.test_dts2的存储引擎为MEMORY, 具体是否可以> 迁移, 需要人工介入判断)
4.清除评估账号
使用root权限登录执行评估的 MySQL 数据库实例,删除评估账号 dts_user。
drop user 'dts_user'@'IP';