MySQL5.7的sql脚本导入到MySQL5.5出错3种解决方案
笔者需要将使用MySQL5.7数据库的网站挪入winows服务器,目标服务器使用的是MySQL5.5,因为兼顾到以前的网站,MySQL不能升级。遇到MySQL5.7的sql脚本导入到MySQL5.5出错,总结了3种解决方案,总有一个方案适合你。
MySQL5.7的sql导入到5.5出错原因
从MySQL 5.6.5开始,TIMESTAMP和DATETIME列可以自动初始化并更新为当前日期和时间(即CURRENT_TIMESTAMP)
在5.6.5之前,这仅适用于TIMESTAMP,并且每个表最多只有一个TIMESTAMP列
MySQL5.7的sql导入到5.5,3种解决方案
一、修改sql文件
sql文件中进行全文替换,注意备份一下sql原文件。
datetime(3) ===>datetime datetime(0) ===>datetime TIMESTAMP(3) ===>TIMESTAMP DEFAULT CURRENT_TIMESTAMP ===>DEFAULT '0000-00-00 00:00:00' DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ===>DEFAULT '0000-00-00 00:00:00' DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) ===>DEFAULT '0000-00-00 00:00:00' DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP ===>DEFAULT '0000-00-00 00:00:00'
都替换后重新导入sql,导入成功
二、Navicat数据传输
用客户端软件 Navicat 同时连接两端的数据库后,使用【数据传输】功能进行导入。
打开Navicat,在上面的菜单栏点击“工具”,选择“数据传输”,进行操作
三、phpmyadmin导出
如果可以使用phpmyadmin导出的话,也有个兼容办法。
导出时,导出方式选择“自定义“,在“格式特定选项”中“最大程度兼容数据库系统或旧版本的 MySQL 服务器”,选择“MySQL40”
这样导出的数据库就可以兼容旧版本的编码格式了
到此这篇关于MySQL5.7的sql脚本导入到MySQL5.5出错3种解决方案的文章就介绍到这了,更多相关MySQL5.7的sql导入5.5内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
MySQL利用profile分析慢sql详解(group left join效率高于子查询)
最近因为一个用了子查询的sql语句查询很慢,严重影响了性能,所以需要进行优化,下面这篇文章主要跟大家介绍了关于MySQL利用profile分析慢sql的相关资料,文中介绍的非常详细,需要的朋友们可以参考借鉴,下面来一起看看吧。2017-03-03多次执行mysql_fetch_array()的指针归位问题探讨
多次执行mysql_fetch_array(),在第二次执行的时候,如果不加处理,就不会输出任何内容,这种情况下只需要对循环指针进行复位即可,感兴趣的朋友可以了解下啊,或许对你有所帮助2013-01-01mysql出现Error performing load command的解决方法
一般就是数据库表字段类型问题,大家参考下面的方法解决下2008-06-06You must SET PASSWORD before executing this statement的解决方法
今天在MySql5.6操作时报错:You must SET PASSWORD before executing this statement解决方法,需要的朋友可以参考下2013-06-06详解mysql bit/json/enum/set 的数据存储
这篇文章主要介绍了mysql bit/json/enum/set 的数据存储,探究的主要内容为 int 类类型的存储, 浮点类类型的存储, char 类类型的存储, blob 类类型的存储, enum/json/set/bit 类类型的存储,需要的朋友可以参考下2023-09-09MySql8 WITH RECURSIVE递归查询父子集的方法
这篇文章主要介绍了MySql8 WITH RECURSIVE递归查询父子集的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-12-12
最新评论