[MySQL FAQ]系列 -- 如何利用触发器实现账户权限审计

一个简单的例子:
delimiter |
create trigger before_insert_a before insert on a
for each row 
begin
if USER() != 'root@localhost' then
 insert into log values(user());
end if;
end; |
这里不能用 current_user() 代替 user(),因为 current_user() 取得的是创建该trigger的账户。
上面只是个简单的例子,可以通过查询mysql.user, mysql.db 等表来做更详细的权限验证判断。
需要注意的是:启用触发器后会带来系统性能上的下降,需要有个权衡。


本文转自叶金荣51CTO博客,原文链接:http://blog.51cto.com/imysql/308620,如需转载请自行联系原作者
上一篇:GitLab使用记录


下一篇:WPF备忘录(3)如何从 Datagrid 中获得单元格的内容与 使用值转换器进行绑定数据的转换IValueConverter