MySQ数据库导入sql文件/Navicat运行sql文件时提示错误 Unknown collation: ‘utf8mb4_0900_ai_ci‘

2 02 2 年,你在某个城市遇到了令人头疼的问题。
导出MySQL8 .0的SQL文件并将其导入MySQL5 .7 时,出现错误“Unknown collat​​ion: 'utf8 mb4 _09 00_ai_ci'”。
我当时很困惑,不知道该怎么办。
后来我才知道有两种方法可以解决。
首先是升级MySQL版本,但是这个过程非常复杂,需要时间去研究。
第二种方式是导入前打开SQL文件,将所有“utf8 mb4 _09 00_ai_ci”替换为“utf8 _general_ci”,将“utf8 mb4 ”替换为“utf8 ”。
这个过程有点乏味,你必须仔细检查以确保替换每个地方。
替换保存的文件后,关闭MySQL,使用Navicat打开目标库,运行修改后的SQL文件。
当时信息日志显示错误为0,我松了一口气,刷新页面看到导入成功了。
但是,如果SQL文件非常大,则此方法可能不适用。
对于大文件频繁更改字符集是非常乏味的。
最后,我在Navicat中将目标数据库的字符集和排序规则更改为“utf8 ”和“utf8 _general_ci”。
如果文件不大,这种替换方法还是比较实用的。

如何将高版本的数据库还原到低版本服务器

说白了,能还清就还清,但是需要付出一些努力。

首先,将2 01 2 测试库设置为2 008 兼容模式。
右键单击“Test-Properties-Options”并将其更改为 2 008
然后右键单击“Test-Task-Generate Script”。
下一步,点击高级,将【sql版本脚本】更改为2 008 创建script.sql。

复制2 01 2 年数据库文件。
首先您需要停止2 01 2 sqlserver 服务。
右键单击测试文件并复制路径。
复制 .mdf 和 .ldf 文件。

2 008 将其复制到您的计算机。
创建一个新的查询管理器并将 script.sql 拖放到其中。
绿码需要改道。
将文件地址更改为 2 008 位置。

按F5 运行。
完全的。

尝试一下。

MySQ数据库导入sql文件/Navicat运行sql文件时提示错误 Unknown collation: ‘utf8mb4_0900_ai_ci‘

糟糕,MySQL 导入的这个 SQL 文件有问题。
常见错误是“未知排序规则:‘utf8 mb4 _09 00_ai_ci’”。
有两种解决方案。
让我解释一下。

第一种方法是升级MySQL数据库版本。
当您从较高版本的 MySQL 导出 SQL 文件,然后想要将其导入到较低版本的 MySQL 时,通常会发生这种情况。
例如,如果使用MySQL 8 .0导出一个文件,想将其导入到MySQL 5 .7 ,就很容易出现这个问题。
解决方案是升级 MySQL 数据库以匹配导出文件的版本。
这个问题肯定有点技术性,需要对数据库升级有一定的了解,提前做好准备。

第二种方法是更改​​SQL文件中的字符集和排序规则。
使用文本编辑器或专业工具,找到所有“utf8 mb4 _09 00_ai_ci”位置,将其替换为“utf8 _general_ci”,然后将“utf8 mb4 ”替换为“utf8 ”。
替换后,保存文件。
不要错过它或放错地方。
用Navicat运行修改后的SQL文件如果信息日志中的错误信息为0,则说明导入成功,刷新页面即可看到结果
注意:如果SQL文件特别大,频繁更换字符集可能不太实用。
此阶段优先升级数据库版本。
Navicat 中的目标数据,只需选择“utf8 ”和“utf8 _general_ci”。

选择哪种方式取决于具体情况,比如数据库升级的难度、SQL文件的大小以及实际业务需求。
说实话,当时我也不知道哪一种更好,但是后来我尝试了一下,发现两种方法都效果很好。

如何将高版本mysql数据库的数据导入低版本mysql中

嘿嘿,说一下我遇到的坑吧。
一年前,有一个项目,我必须将数据从高版本的MySQL导入到低版本的MySQL中。
我当时就一头雾水,就尝试直接导入,但是导入后,几个表没有同步,数据完全损坏。
后来我意识到我应该把时间浪费在这上面。
首先使用mysqldump将最大版本数据导出到文本文件。
这一步没有什么问题,可以正常运行。

关键的第二步是编辑SQL文件。
MySQL高版本和低版本之间语法是有区别的!例如,较低版本永远不支持较高版本中的新功能。
我花了整整两天的时间,逐行修改,删除不符的东西。
进行更改后,我首先通过 MySQL 中间版本运行它。
虽然屏幕上出现了几次警告,但数据终于加载完毕。
然后把这个中间版本的数据导出来,这次导入目标较低版本,就流畅多了。

第三步导入低版本的目标。
对于这一步,只需使用mysql命令行工具执行修改后的SQL文件即可。

另外,如果版本差异太大,也会产生很大的问题。
在我的项目中,最高版本是8 .0,最低版本是5 .7 您可以通过两个阶段直接进入该国。
中间的过渡版本非常重要。
如果没有那个中间版本,我可能不得不重建数据库。

最后一步,测试。
提交后一定要核实!检查每一个表、每一个数据,确保没有问题。
有一个小数点不匹配,我没有注意到。

哦,对了,后来有朋友向我求助。
他的版本在三代人中更加不同。
我不敢接受,我害怕压力。
后来要自动处理第三方设备兼容性,花了很多钱。
所以你看,这取决于具体情况。