CREATE TRIGGER trigger_LocationType_Insert
BEFORE UPDATE ON LocationType
FOR EACH ROW
SET NEW.NAME = ''
返回此错误:
[HY000] [1419]您没有SUPER权限并启用了二进制日志记录(您可能*想要使用安全性较低的log_bin_trust_function_creators变量)
我知道这是因为即使是root用户“也拥有除SUPER和FILE之外的所有权限。” https://cloud.google.com/sql/docs/mysql/users
我认为如果我可以“将log_bin_trust_function_creators设置为1”那么它就可以工作(该用户确实具有CREATE TRIGGER权限)。但是,我不知道如何在Google Cloud SQL控制台或sql语句中执行此操作。
如何在此环境中创建TRIGGER?
答案 0 :(得分:4)
此页面介绍了如何更改Google Cloud实例的MySQL配置选项:https://cloud.google.com/sql/docs/mysql/flags
选择要打开其实例概述页面的实例。
已设置的数据库标志列在数据库标志部分下。
您必须使用其UI更改全局变量,因为您无法使用SET GLOBAL
而无需SUPER权限。
log_bin_trust_function_creators
选项列在支持的配置选项中,您可以在我上面链接的页面上的UI中进行更改。
要详细了解此错误,请参阅https://dev.mysql.com/doc/refman/5.7/en/stored-programs-logging.html