2012-11-17 35 views
-1

Possible Duplicate:
mysql: Cant we create triggers on system tables?无法创建MySQL的系统表触发

我们正在rhel 6.1 (64 bit)使用MySQL版本5.1.59。我们希望监视数据库的删除,并试图在数据库的db表上创建一个触发器。我们通过登录为root user来创建trigger。所写的触发如下:

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;| 

但我们得到的错误:

Error Code : 1465

Triggers can not be created on system tables

由于我们工作作为root用户,我们认为我们有系统上的所有权限。来自任何主机(包括本地主机)的root用户的全局特权包括SUPER权限。任何人都可以帮助我们吗?

+2

啧啧......我想错误味精几乎总结了它! – Bohemian

+0

尝试在系统表上创建触发器。是不是像编辑系统表一样?我为同样的事情做了很多尝试。我希望你的成功。 – Sami

回答

0

我打算冒昧地猜测,并说出你得到错误信息的原因是触发器无法在系统表上创建。

哦,也许我可以添加“不管特权”

+0

感谢您的回复。但是我在这里看过帖子,提到触发器可以在系统表上创建。 –

+0

哪个职位?你为什么不想提及?你的问题是完全重复的http://stackoverflow.com/questions/10346546/mysql-cant-we-create-triggers-on-system-tables – Sami