项目要求,使用mysql5.7(之前一直使用8.0版本),现在使用5.7,本来docker也安装了,但在回复数据的过程中发现还是有报错,故此记录一下
docker 安装5.7mysql,回复数据的过程中,报错,如下:
Invalid default value for ‘createTime’
因为默认sql_mode模式为ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
,恢复的数据中字段类型为datetamp ,datetime 默认设置为‘0’,如下图:
导致报错,详情如下链接:
解决> 1067 - Invalid default value for ‘create_time‘错误-CSDN博客
解决办法:
1、在navicat中修改
:::info
select @@sql_mode;
set sql_mode=‘STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION’
:::
但发现还是无法生效;
2、修改mysql配置
由于docker 安装是默认配置,故无法修改,故重新安装,帖子:
docker安装mysql5.7并挂载配置文件数据及日志_docker安装的mysql5.7挂载日志文件-CSDN博客
重点在下图
:::info
docker exec -it mysq5.7 /bash
:::
发现新问题:
配置没有生效,解决办法:
MySQL篇之解决启动时报错:Warning: World-writable config file ‘/etc/my.cnf’ is ignored_听说唐僧不吃肉的博客-CSDN博客
:::info
重启docker
docker restart mysq5.7
:::
重新进入mysql,发现配置生效了