我们在MySQL
上使用5.1.59
ver rhel 6.1 (64 bit)
。我们希望监视数据库的删除以及试图在mysql
数据库的db表上创建触发器的数据库。我们通过以trigger
登录来创建root user
。写入的触发器如下:
DELIMITER |
CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
TRIGGER `mysql`.`test` BEFORE DELETE
ON `mysql`.`db`
FOR EACH ROW BEGIN
INSERT INTO cescnet.db_monitor (DB_name,user_name,dateandtime,operation_type) VALUES (mysql.db.Db,CURRENT_USER(),NOW(),'Delete');
END;|
但我们收到了错误:
错误代码:1465
无法在系统表上创建触发器
由于我们以root用户身份工作,因此我们认为我们拥有系统的所有权限。来自任何主机(包括本地主机)的root用户的全局特权包括SUPER权限。有人可以帮助我们吗?
答案 0 :(得分:-1)
简而言之:你做不到。
我也尝试过像
这样的事情See (All) and (Super) Privileges Provided by mySql
尝试所有类型的权限后,如
grant super on *.* to root@localhost
grant all on *.* to root@localhost
我尝试过最简单的触发器并获得相同的错误
Triggers can not be created on system tables
如果您发现可以在系统表上创建触发器的任何地方,那就错了