MySQL迁移人大金仓KingBaseES V8 R3实战

文章目录 收缩

准备

在迁移前,先在本地数据库新建一个空库,并将要迁移到人大金仓数据库的MySQL数据库复制到本地的这个空库中,因为接下来需要修改某些表的设置。

  • enum类型
    例如enum('男','女')

这种类型的字段需要改为:

ALTER TABLE `TABLE_NAME` MODIFY COLUMN `user_sex` varchar(1) DEFAULT '男';
  • tinyint类型
    当字段是tinyint类型且长度为1时,迁移的时候,会自动变成布尔型。
    解决办法:将长度改为2或者将类型改为smallint类型
  • 修改索引名
    由于人大金仓不支持不同表使用相同的索引名,如果你的数据库中存在这种情况,那么需要提前修改索引名。
    例如MySQL库中有两张表,A表里有名为user_id的唯一索引,B表里也有名为user_id的索引,那么迁移时会失败。
    建议修改原mysql中的索引名为表名_索引名

使用迁移工具

新建MySQL数据库连接

填写数据库配置信息并点击测试连接

新建人大金仓数据库连接

按照以上新建MySQL数据库连接的方法新建人大金仓数据库连接

新建数据库迁移任务

双击左侧的test,设置源数据库进行设置:

双击右侧的kdb,设置数据库关系映射:

开始迁移

处理迁移错误

迁移完成后,会自动形成迁移报告,控制台也会打印出错信息:

点击“出错对象”,可以查看迁移出错的索引或表的信息:

双击出错对象,即可查看sql语句,可以进行修改后,再次迁移。

发表评论

电子邮件地址不会被公开。 必填项已用*标注