我正在使用MySQL Workbench 8.0。我试图将测试数据转储到DB,包括所有表,存储过程和数据视图。
当我尝试导入它时说导入完成了一个错误,错误是
变量'sql_mode'不能设置为'NO_AUTO_CREATE_USER'的值使用exitcode 1操作失败
如果我检查数据库,导入后,只有表已经到来,但根本没有存储过程。
怎么解决这个问题?
从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命令行中,客户端解决了这个问题,最后允许我使用所有转储的表,数据,例程和函数正确导入我的数据库。
希望这能节省一些时间。