问题
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
Can we create a trigger on system tables, Is there any work around or it will be supported in higher versions[> 5.1.61] ?
Thanks in advance.
回答1:
No we can not. Even if we have the best concerned privileges are all
and super
See (All) and (Super) Privileges Provided by mySql
After trying all type of privileges like
grant super on *.* to root@localhost
grant all on *.* to root@localhost
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
回答2:
Had you seen this: http://forums.mysql.com/read.php?99,207145 ?
The poster says he needed "SUPER PREVILAGES" Do you have access to the root user for the database?
来源:https://stackoverflow.com/questions/10346546/mysql-cant-we-create-triggers-on-system-tables