mysql:我们不能在系统表上创建触发器吗?

时间:2012-04-27 07:31:05

标签: mysql triggers system-tables

我试图通过在其上写一个触发器来审核mysql.user表中的权限更改。

insert trigger: will capture who gave the new permissions and when
update trigger: will capture who changes the privileges from what[old privilege]
remove trigger: will capture who removed the privileges and what are they

现在,我在写

时遇到错误
ERROR 1465 (HY000): Triggers can not be created on system tables

我们可以在系统表上创建触发器吗?是否有任何解决方法,或者在更高版本中支持它[> 5.1.61]?

提前致谢。

2 个答案:

答案 0 :(得分:2)

不,我们不能。即使我们拥有最好的相关权限,allsuper

也是如此

See (All) and (Super) Privileges Provided by mySql

尝试所有类型的权限后,如

grant super on *.* to root@localhost
grant all on *.* to root@localhost

我在不同的表mysql.db上尝试了最简单的触发器并得到了相同的错误

  

无法在系统表上创建触发器//请接受此操作   痛苦的事实

如果您发现可以在系统表上创建触发器的任何地方,那就错了

答案 1 :(得分:0)

你看到了这个:http://forums.mysql.com/read.php?99,207145

海报说他需要“超级特权” 您是否有权访问数据库的root用户?