Mysql5.6版本导出sql文件数据导入到5.7版本出现的问题解决方法

本文介绍了解决在Linux环境下使用MySQL 5.7时遇到的时间默认值不能为0的问题。通过调整sql_mode配置,成功避免了数据导入时出现错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:由于在linux安装了mysql5.7,在需要导入数据时发现报错,说时间默认值不能为0,因为之前用的是mysql5.6 的版本。经过网上百度查找方法,发现是mysql的sql_mode值的问题,于是就前去修改。怕以后忘记所以在此记录。


解决方法:

       1,找到mysql的配置文件,我的配置文件在、/etc/mysql/mysql.conf.d/mysqld.cnf

             2,  编辑mysqld.cnf 文件,在[mysqld] 下面加上sql_mode= ,如图所示

在这里我需要解释下,因为我查询过sql_mode值 ,语句为selete @@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
而报时间默认值不能为0的罪魁祸首则是
NO_ZERO_IN_DATE,NO_ZERO_DATE,这两个属性。然后我把这两个属性去掉,再把值给写入到配置文件里面,这时候又出现了新的问题。group by 又报错了,这让我很无语,然后我直接把sql_mode的值在配置文件里面至为空,如上图所示
然后保存退出,在重启。然后在导入sql文件就不会报错了。
在这里记录怕以后忘记,同时希望能够帮助遇到同样问题无法解决的朋友们。



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值