MySQL5.7的sql脚本导入到MySQL5.5出错3种解决方案

 更新时间:2023年06月03日 15:54:17   投稿:yin  
笔者需要将使用MySQL5.7数据库的网站挪入winows服务器,目标服务器使用的是MySQL5.5,因为兼顾到以前的网站,MySQL不能升级。遇到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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

最新评论