mysql: Cant we create triggers on system tables?(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] ?
提前致谢.
推荐答案
不,我们不能.即使我们最关心的权限是 all 和 super
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:我们不能在系统表上创建触发器吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:mysql:我们不能在系统表上创建触发器吗?
基础教程推荐
- 在 MySQL 中:如何将表名作为存储过程和/或函数参数传递? 2021-01-01
- 二进制文件到 SQL 数据库 Apache Camel 2021-01-01
- 在多列上分布任意行 2021-01-01
- 如何在 SQL 中将 Float 转换为 Varchar 2021-01-01
- 表 './mysql/proc' 被标记为崩溃,应该修复 2022-01-01
- 如何根据该 XML 中的值更新 SQL 中的 XML 2021-01-01
- MySQL 中的类型:BigInt(20) 与 Int(20) 2021-01-01
- 什么是 orradiag_<user>文件夹? 2022-01-01
- mysql选择动态行值作为列名,另一列作为值 2021-01-01
- oracle区分大小写的原因? 2021-01-01
