数据库升级到mysql5.7出现的1067 - Invalid default value for '字段名' (docker版)

docker run -d --name xxx --network lnmp7 -p 3306:3306 -v /data/xxx/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=oneone mysql:5.7

docker container cp xxx:/etc/mysql/mysql.conf.d .   // 取出mysql中的配置文件

docker stop xxx

docker rm -f xxx //删除实例

mv mysql.conf.d/ ./xxx/config //

docker run -d --name xxx --network lnmp7 -p 3306:3306 -v /data/xxx/config:/etc/mysql/mysql.conf.d -v /data/xxx/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=oneone mysql:5.7

修改/data/xxx/config/mysqld.cnf

sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

配置完后,重启mysql

数据库升级到mysql5.7出现的1067 - Invalid default value for '字段名' (docker版)

原文地址:https://www.cnblogs.com/apesplan/p/10770203.html

时间: 2024-08-29 20:59:34

数据库升级到mysql5.7出现的1067 - Invalid default value for '字段名' (docker版)的相关文章

关于mysql数据库中date time的错误问题(Error Code: 1067. Invalid default value for xxx)

在新建表的时候突然出现一个错误信息: Error Code: 1067. Invalid default value for 'start_time' 在经过一番折腾之后发现是datetime不能设置默认值,所以想要设置默认值的话我们也可以使用timestamp然后设置默认值为current_timestamp即可 不过除了在数据库中设置默认值外我们也可以在程序进行设置,如果是5.6的mysql数据库应该不存在不能设置默认值的问题

SQLYog执行SQL脚本提示:错误代码: 1067 - Invalid default value for '数据库表'查询:解决办法

强烈建议:完全卸载当前版本MySQL,重新安装5.6及以上版本 完全卸载方法:https://jingyan.baidu.com/article/3d69c551611290f0ce02d77b.html 卸载完之后记得删除C:\ProgramData下的隐藏文件MySQL 这是我在网上查阅多方资料,尝试无数次,踩了很多坑之后得到的最优解决办法! 至于网上修改sql_mode之类的办法,亲测无效,可能和我代码有关,不做赘述! 出现该错误原因:MySQL版本不同,导致5.6版本之前和之后的语法有很

Mysql 报错:#1067 - Invalid default value for 'update_time

由于 字段UPDATE_TIME 的字段类型是 timestamp ,默认值是:'0000-00-00 00:00:00' 即:`UPDATE_TIME` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '更新时间'; 在对这个表进行创建的时候,提示: #1067 - Invalid default value for 'update_time 原因: timestamp有效时间在:1970-01-01 00:00:00 到 20

mysql导入文件报错:[Err] 1067 - Invalid default value for 'active_time'

报错原因意思是说:mysql5.7版本中有了一个STRICT mode(严格模式),而在此模式下默认是不允许设置日期的值为全0值的,所以想要  解决这个问题,就需要修改sql_mode的值. 修改全局设置 mysql> set @@global.sql_mode=(select replace(@@global.sql_mode,'NO_ZERO_IN_DATE,NO_ZERO_DATE','')); mysql> select @@global.sql_mode; mysql导入文件报错:[

【错误】mysql 出现 "1067 - Invalid default value for 'UPDATE_TIME' " 错误提示的解决办法

今天工作中遇到修改表结构的时候出现错误 Invalid default value for 'UPDATE_TIME 问题原因是因为db 表中update_time的默认时间写成了 '0000-00-00 00:00:00' `update_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', 因为timestamp类型取值范围:1970-01-01 0

Mysql5.7.11 安装 cacti0.8.8f ,在导入cacti.sql数据库时出现下记错误,导致数据库导入终止: ERROR 1067 (42000) at line 1847: Invalid default value for 'status_fail_date'

解决方法:vim /etc/my.cnf 文件,加入 : sql-mode="NO_ENGINE_SUBSTITUTION" , Systemctl restart mysqld 进入mysql的之后可执行: select @@sql_mode 查询当前使用的sql_mode是什么 Mysql5.7.11 安装 cacti0.8.8f ,在导入cacti.sql数据库时出现下记错误,导致数据库导入终止: ERROR 1067 (42000) at line 1847: Invalid

MySQL5.6.26升级到MySQL5.7.9实战方案【转】

MySQL5.6.26升级到MySQL5.7.9实战方案 转自 MySQL5.6.26升级到MySQL5.7.9实战方案 - 其他网络技术 - 红黑联盟http://www.2cto.com/net/201512/453682.html 前言 某大公司升级方案,由于公司经常安全扫描,每个版本都有自身的BUG,为了安全到一定时间都会升级到新的版本.本案例采用单机环境升级方案,在单机中搭建主从方案. 1.单机环境 IP:172.16.0.111 系统:SUSE 11 MySQL旧版本:5.6.26

MySQL/MariaDB/Percona数据库升级脚本

MySQL/MariaDB/Percona数据库升级脚本截取<OneinStack>中upgrade_db.sh, 一般情况下不建议升级数据库版本,该脚本专提供给各位版本控们.为防止大版本之间兼容问题,脚本默认仅支持同一大版本之间的升级,如:MySQL- 5.6.25升级到MySQL-5.6.26.MySQL-5.5.44升级到MySQL-5.5.45.MariaDB-10.0.20升级到 MariaDB-10.0.21:不能跨分支版本且不能跨大版本,如从MySQL-5.5.44升级到Perc

探索Oracle之数据库升级二 11.2.0.3升级到11.2.0.4完整步骤

探索Oracle之数据库升级二  11.2.0.3升级到11.2.0.4完整步骤 说明:         这篇文章主要是记录下单实例环境下Oracle 11.2.0.1升级到11.2.0.3的过程,当然RAC的升级是会有所不同.但是他们每个版本之间升级步骤都是差不多的,先升级Database Software,再升级Oracle Instance. Oracle 11.2.0.4的Patchset No:19852360下载需要有Oracle Support才可以.  Patchset包含有7个