mysql:我们不能在系统表上创建触发器吗? [英] mysql: Cant we create triggers on system tables?

查看:78
本文介绍了mysql:我们不能在系统表上创建触发器吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试通过在其上编写触发器来审核 mysql.user 表中的权限更改.

I am trying to audit the privilege changes in mysql.user table by writing a trigger on it.

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

现在,我在编写时遇到错误

Now, I am getting an error while writing like

ERROR 1465 (HY000): Triggers can not be created on system tables

我们可以在系统表上创建触发器吗,有什么解决办法吗,或者更高版本会支持它[> 5.1.61]?

Can we create a trigger on system tables, Is there any work around or it will be supported in higher versions[> 5.1.61] ?

提前致谢.

推荐答案

不,我们不能.即使我们最关心的权限是 allsuper

No we can not. Even if we have the best concerned privileges are all and super

查看 mySql 提供的(全部)和(超级)权限

尝试所有类型的权限后

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

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

I have tried simplest trigger on different tables mysql.db and got same error

无法在系统表上创建触发器//请接受这一点残酷的事实

Triggers can not be created on system tables // Please accept this bitter truth

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

If you found anywhere that triggers can be created on system tables, simply that is wrong

这篇关于mysql:我们不能在系统表上创建触发器吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆