在information_schema.triggers上拒绝访问?

时间:2013-12-13 03:21:56

标签: mysql triggers user-permissions information-schema

只测试一些代码,尝试将所有触发器保存在数据库中,然后重新创建它们

drop table if exists triggertemp;

create table triggertemp like information_schema.TRIGGERS;

insert into triggertemp (
select * from information_schema.TRIGGERS where TRIGGER_SCHEMA = 'id2target');

delete from information_schema.TRIGGERS where TRIGGER_SCHEMA = 'id2target';

-- and then to re-create them
insert into information_schema.TRIGGERS (select * from triggertemp);

但是我将用户'root'@'%'的Access拒绝到数据库information_schema。现在我已经为这个用户授予了每个模式的所有权限,但仍然没有。

我错过了特权吗?或者这是一个内置的安全性,我会发生错误的事情吗?

1 个答案:

答案 0 :(得分:0)

http://dev.mysql.com/doc/refman/5.6/en/information-schema.html说:

  

您只能读取表的内容,不能对它们执行INSERT,UPDATE或DELETE操作。

如果你想保留触发器然后恢复它们,你可以这样做:

$ mysqldump --triggers --no-create-db --no-create-info --no-data id2target > triggers.sql

$ mysql id2target < triggers.sql