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

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


但是我得到数据库“ information_schema”的用户“ root” @ %%拒绝访问。现在,我已为该用户授予了每个模式的所有特权,但仍然没有任何权限。

我错过了特权吗?还是这是内在的安全性,而我要去做错误的事情?

最佳答案

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

10-08 17:32