今天做数据同步,发现一直有报错,集中在时间的默认值。数据源的mysql版本是5.5.30,有些时间字段默认值设置为0000-00-00 00:00:00。目标mysql版本为5.7.17,查资料发现,MySQL 5.7 以上版本默认禁止 0000-00-00 的日期。
在 MySQL 的配置文件 [mysqld] 区域添加如下设置,重启mysql后,不再报错。
sql_mode="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"