只是测试一些代码,尝试将所有触发器保存在数据库中,然后重新创建它们
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