【发布时间】:2010-12-10 06:54:21
【问题描述】:
我和我的开发伙伴在共享 MySQL 开发数据库上拥有自己的开发模式。我的任务要求我在架构中创建触发器,但到目前为止我没有成功。
CREATE TRIGGER myTrigger AFTER DELETE on myTable
FOR EACH ROW BEGIN
-- DO STUFF
END;
MySQL 说: 错误 1419 (HY000):您没有 SUPER 权限并且启用了二进制日志记录(您可能想要使用不太安全的 log_bin_trust_function_creators 变量)
我查看了 MySQL 手册 (http://dev.mysql.com/doc/refman/5.1/en/privileges-provided.html):
TRIGGER 权限使您能够创建和删除触发器。您必须拥有此表的权限才能为该表创建或删除触发器。此权限是在 MySQL 5.1.6 中添加的。 (在 MySQL 5.1.6 之前,触发操作需要 SUPER 权限。)
我们正在运行“5.1.32-enterprise-gpl-advanced-log”,所以 TRIGGER 权限应该足够了;但是,DBA 授予了我在mySchema.* 上的 TRIGGER 权限,当我执行 SHOW GRANTS 时我可以看到它;但是我仍然收到关于需要“SUPER”权限的错误。我们不想给所有的开发者SUPER。
有什么建议吗?
【问题讨论】:
标签: sql mysql triggers mysql-management