centos下导入mysql数据库几个ERR
说明:我的数据是使用的mysqldump 命令备份的。
直接说问题
第一次踩坑
直接使用Navicat执行备份的sql脚本,第一次err:2006 - MySQL server has gone away
百度了一下原因,我的是因为缓存区太小的问题,解决办法:
1、首先使用sql语句:show global variables like ‘max_allowed_packet’;
查询我的mysql缓存区大小,只有4M,但是我的sql文件大小有近70M
2、使用sql语句:set global max_allowed_packet=1024102470;
修改缓存区的大小为70M,该语句不是永久修改,重启mysql服务后大小会重置。
接下来再次运行sql脚本,又踩坑了
第二次踩坑
提示:[ERR] 1231 - Variable ‘time_zone‘ can‘t be set to the value of ‘NULL‘
解决办法:在脚本文件末有一段注释
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
删除后再执行,成功了
接着同事提出有可能是Navicat的原因,我把sql脚本拉到centos中直接使用mysql命令执行脚本,数据恢复正常。未深究具体原因
参考博客:
2006 - MySQL。。。
[ERR] 1231。。。