[MySQLFAQ]系列–如何利用觸發器實現賬戶許可權審計

科技小先鋒發表於2017-11-17
一個簡單的例子:
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,如需轉載請自行聯絡原作者


相關文章