变量'sql_mode'不能设置为'NO_AUTO_CREATE_USER'的值

问题描述 投票:6回答:1

我正在使用MySQL Workbench 8.0。我试图将测试数据转储到DB,包括所有表,存储过程和数据视图。

当我尝试导入它时说导入完成了一个错误,错误是

变量'sql_mode'不能设置为'NO_AUTO_CREATE_USER'的值使用exitcode 1操作失败

如果我检查数据库,导入后,只有表已经到来,但根本没有存储过程。

怎么解决这个问题?

mysql mysql-workbench data-import
1个回答
16
投票

从MySQL Workbench 6.1 CE导出我的数据库然后尝试将其导入更新版本的MySQL WorkBench 8.0.11后,我最近也遇到了这个问题。每个都安装了社区服务器安装程序msi。

在做了一些搜索之后,我在MySQL网站上看到了这个错误报告:Restaure dump created with 5.7.22 on 8.0.11

对我有用的修复是手动浏览我的转储文件并删除语句:

'NO_AUTO_CREATE_USER'位于转储文件中的每个例程转储之上。 Statement to remove image example

我这样做后,我收到了错误

错误1418(HY000)在第318行:此函数在其声明中没有DETERMINISTIC,NO SQL或READS SQL DATA,并且启用了二进制日志记录(您可能希望使用安全性较低的log_bin_trust_function_creators变量)

但在提到这个回答的问题后:This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled并简单地输入:

SET GLOBAL log_bin_trust_function_creators = 1;

在MySQL命令行中,客户端解决了这个问题,最后允许我使用所有转储的表,数据,例程和函数正确导入我的数据库。

希望这能节省一些时间。

© www.soinside.com 2019 - 2024. All rights reserved.