准备
在迁移前,先在本地数据库新建一个空库,并将要迁移到人大金仓数据库的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语句,可以进行修改后,再次迁移。
为什么我的数据库迁移工具里没有mysql的驱动