db2数据库迁移到mysql5.7

最近由于项目要求,需要将db2数据库迁移到mysql数据库。具体步骤如下:

1、使用navicat新建一个数据库作为db2数据库中的数据表结构及数据的接收者

2、右键表点击“导入向导”

3、选择ODBC,点击下一步

4、选择“IBM OLE DB Provider for DB2 - DB2COPY1”,点击下一步

5、这里可以选择本地的db2数据源,也可以选择服务器上的数据库,填写完毕后点击下一步

6、这些就是你db2数据库中的表,可以根据要求勾选,点击下一步

7、在这一步中可以对数据结构进行修改,不要忘了添加主键,直接下一步

8、在这一步中选择是否要把db2表中的数据一并导入

9、点击开始,如果有报错可以点击日志查看

 

我这次导入所遇到的问题:

1、由于db2数据库有的数据表中有timestamp的数据类型,在导入mysql5.7中的时候会报“invalid default value for time“ ,这个问题是由于mysql版本的问题,在mysql5.7版本中对于timestamp的默认值已经不能是0000 00-00 00:00:00。

解决方法:修改sql_mode;查看cat /etc/my.cnf,发现sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

将标红的去掉就可以了。去掉后要重启mysql服务

  • 1
    点赞
  • 6
    收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:技术黑板 设计师:CSDN官方博客 返回首页
评论 3

打赏作者

龙潭一条鱼

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值