禹天 禹天 禹天 禹天
  • 导航首页
  • macOS
  • Windows
  • 学习笔记
  • 推荐好站
  • 用户登录
  • 关于我们
禹天 禹天
  • TAG标签
  • 文章归档
  • 博主推荐
  • 热点排行

升级mysql后导入数据库时报错1067、1146、2006

2021-01-27 11:10 / in 学习笔记 / 阅读量:62 / TAG MYSQL

最近把mysql升级到5.7了 导入数据库提示各种错误下面就这些错误给一一解答。希望以后可以在用到


碰到1067错误.

检查了下表字段发现日期是

`comment_date` datetime(0) NOT NULL DEFAULT '0000-00-00 00:00:00',

`comment_date_gmt` datetime(0) NOT NULL DEFAULT '0000-00-00 00:00:00',

也就是时间格式是“0000-00-00”


这种报错多是你mysql升级到5.7而引起的默认值不兼容的问题。看看你的字段名是什么,我的是时间字段,类型是datetime。想到可能是类型的默认值被限制了,查看 sql_mode。果然:NO_ZERO_IN_DATE,NO_ZERO_DATE这两个参数限制时间不能为0


以直接修改my.cnf文件

例如:     vim /etc/my.cnf

在[mysqld]下面添加如下列:

sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION


碰到1146或者Error occurred: Cannot select database.


这是因为什么呢?原来是因为用户在安装新版本的数据库时data文件下的ibdata1配置文件,与被覆盖的数据库的data文件下的ibdata1配置文件冲突了,如果之前的ibdata1配置文件没有丢失就直接复制粘贴到新安装的数据库路径下的data文件与ibdata1配置文件进行替换,但是小编这里由于之前的ibdata1配置文件已经丢失,那小编应该怎么办呢?后来看了一下mysql的官网提示,想到了一个新办法,那就是在my.ini配置文件中添加配置项:show_compatibility_56 = ON  performance_schema,如图:

1611733505402.jpg




MySQL 2006-MySQLserver has gone away

(验证无误):

找到 mysql安装目录下的my.ini配置文件,加入以下代码:

max_allowed_packet=500M

wait_timeout=288000

interactive_timeout = 288000

三个参数注释如下:

max_allowed_packet是mysql允许最大的数据包,也就是你发送的请求;

wait_timeout是等待的最长时间,这个值大家可以自定义,但如果时间太短的话,超时后就会现了MySQL server has gone away #2006错误。

max_allowed_packet参数的作用是,用来控制其通信缓冲区的最大长度


支付宝 微信
猜你喜欢
速学PHP视频教学,简单粗暴第一天
速学PHP视频教学,简单粗暴第六天
速学PHP视频教学,简单粗暴第二天
php判断和极致cms判断URL是否包含什么字符
评论 (0)
您只有登录后才可以评论~立即登录
暂无评论
Copyright @2019-2099 禹天的博客.All Rights Reserved 京ICP备12013512号-1 京公网安备11011502004272.
搜索
您将离开本站并访问