首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysqldump 5.7至5.5兼容性

问mysqldump 5.7至5.5兼容性
EN

Server Fault用户
提问于 2019-06-17 12:45:31
回答 2查看 1.4K关注 0票数 1

我正在尝试将数据从MySQL5.7导出到MySQL5.5服务器。我面临的问题是,5.5不支持多个ON UPDATE CURRENT_TIMESTAMP,但是5.7有多个时间戳拼贴。问题是:是否有一种方法仅禁用ON UPDATE CURRENT_TIMESTAMP im mysqldum,而不触及实际数据库。我尝试过--compatible=mysql323和--compatible=mysql40,但是这些模式引入了其他兼容性问题,比如MODE=InnoDB而不是ENGINE=InnoDB。如有任何帮助或建议,将不胜感激。

EN

回答 2

Server Fault用户

发布于 2019-06-17 21:17:04

使用5.5个版本的mysqldump创建转储。也许能行。否则可能会惹上其他麻烦。

对于TIMESTAMP列,5.5的默认设置非常有限。即使您可以关闭不兼容的语法,您也会得到一个能够工作的CREATE TABLE吗?

这可能只是冰山一角。您打算在5.5版本的服务器上做什么?也许这只是为了做分析?而且您不会执行INSERTs或UPDATEs,所以对于默认设置没有什么关系吗?

B计划:

代码语言:javascript
复制
mysqldump ... --no-data

然后编辑出TIMESTAMPs的默认值,并将结果提供给mysql。表将被构建,但尚未填充。

代码语言:javascript
复制
mysqldump ... --no-create | mysql ...

来加载数据。(请注意:我不确定--没有参数的拼写)

票数 1
EN

Server Fault用户

发布于 2019-06-17 17:50:31

您已经找到了转储的兼容性标志,并且它没有特定的版本。

将目标数据库升级到5.7或更高版本。如果这是不可行的,编写一个程序来进行任何必要的转换并导入它。从正在运行的数据库中提取,或转换5.7转储。

(一般来说,向前兼容任何重大变化都是困难的。通常您需要一些软件的新版本来读取新的数据结构和语法。)

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/971730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档