mysql - 变量“sql_mode”不能设置为“NO_AUTO_CREATE_USER”的值
问题描述
我正在使用 MySQL Workbench 8.0。我正在尝试将测试数据转储到数据库,包括所有表、存储过程和带有数据的视图。
当我尝试导入时,它说导入完成时出现一个错误,错误是
变量“sql_mode”不能设置为“NO_AUTO_CREATE_USER”的值操作失败,退出代码为 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' 位于转储文件中每个例程转储的上方。 删除图像示例的语句
在我这样做之后,我收到了错误
第 318 行的错误 1418 (HY000):此函数在其声明中没有 DETERMINISTIC、NO SQL 或 READS SQL DATA,并且启用了二进制日志记录(您可能希望使用不太安全的 log_bin_trust_function_creators 变量)
但是在参考了这个已回答的问题后: 此函数在其声明中没有 DETERMINISTIC、NO SQL 或 READS SQL DATA,并且启用了二进制日志记录 ,只需输入:
SET GLOBAL log_bin_trust_function_creators = 1;
在 MySQL 命令行客户端中解决了这个问题,并最终允许我正确导入包含所有转储表、数据、例程和函数的数据库。
希望这可以节省其他人一些时间。
推荐阅读
- fabricjs - FabricJS 动画路径
- big-o - i <= n 的大 O 分析;i *= 2 与 i < n; 我 *= 2;
- hive - kylin启动时报错
- c++ - 枚举元组类型的最佳方法?
- google-cloud-platform - 如何从数据流工作者签署 gcs blob
- ios - 错误:点击 UISegmentedControl 时将无法识别的选择器发送到实例
- python - 复制鼠标点击 NameError
- android - Android:相机错误->无法连接到相机
- git - 在私有 Git 存储库中存储 API 密钥/连接字符串
- amazon-web-services - 如何允许 Google Cloud Data Fusion 连接到 AWS RDS MySQL 数据库?