首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将MySQL8.0的转储转换为5.7?

问如何将MySQL8.0的转储转换为5.7?
EN

Stack Overflow用户
提问于 2019-08-18 17:26:36
回答 2查看 11K关注 0票数 12

我想从Mysql 8.0.11中提取一个转储,并将其还原为5.7.27。

当我试图恢复它时,我得到了一个错误:

第25行错误1273 (HY000):未知排序规则:“utf8mb4_0900_ai_ci”

然后,我尝试使用兼容标志,以便更容易地在旧的MySQL DB上运行。

代码语言:javascript
复制
mysqldump --compatible=mysql4 --add-drop-table -u r00t -h xxx.eu-north-1.rds.amazonaws.com -p radius_db > ~/radius.sql

但这似乎也不起作用:

mysqldump:无法执行'/*!40100 SET @@SQL_MODE=‘MYSQL40 40’*/':变量'sql_mode‘不能设置为'MYSQL40’的值(1231)

如有任何建议,将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-22 10:35:45

简单地说,将其用作默认的"utf8“,并用作排序规则。

解决问题的一种方法是将导入的..sql文件从

  • "utf8mb4“改为"utf8”
  • 和"utf8mb4_0900_ai_ci“(或其他东西)到"utf8_general_ci”

提示:不要忘记备份文件,以防万一;-)

转到您的(.sql)导入文件并执行以下更改。发自:

代码语言:javascript
复制
ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8_general_ci;

至:

代码语言:javascript
复制
ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

再进口一次。

票数 10
EN

Stack Overflow用户

发布于 2021-09-22 04:47:48

您可以使用下一段代码将数据库从mysql 8.x移动到mysql 5.x。

代码语言:javascript
复制
mysqldump db > db.sql

sed -i s/utf8mb4_0900_ai_ci/utf8mb4_general_ci/g db.sql

mysql db < db.sql

db是数据库名。

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

https://stackoverflow.com/questions/57546833

复制
相关文章

相似问题

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