小编Joh*_*nst的帖子

为什么/何时创建 mysql 触发器需要超级权限?

我试图解析和理解 MySQL 文档所说的何时创建触发器需要 SUPER 权限。他们说:

如果启用了二进制日志,CREATE TRIGGER 可能需要 SUPER 权限[1]

这种暗示在某些情况下它不需要 SUPER 特权。他们指的是 log_bin_trust_function_creators=1 设置,还是还有其他东西?

其次,在[2]中他们说:

... 信任不会创建将导致不安全事件写入二进制日志的存储函数。

这里究竟有什么危险?二进制日志中哪些类型的事件可能是“不安全的”,对谁来说?

[1] https://dev.mysql.com/doc/refman/5.7/en/create-trigger.html

[2] https://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_log_bin_trust_function_creators

mysql trigger security

5
推荐指数
1
解决办法
5087
查看次数

通过 information_schema 更新 mysql 触发器——访问被拒绝?

对于 MySQL(实际上是 MariaDB)中的某些触发器,我有一些错误的“定义器”。我认为纠正它们的最简单方法是以下版本:

use information_schema;
update triggers set definer=current_user() where trigger_schema='foobar';
Run Code Online (Sandbox Code Playgroud)

它产生:

ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'information_schema'
Run Code Online (Sandbox Code Playgroud)

在同一个会话中,我可以使用“删除触发器”和“创建触发器”删除并重新创建触发器,因此我不了解权限问题。我的用户是否需要一些它没有的特权?

mysql schema trigger

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

mysql ×2

trigger ×2

schema ×1

security ×1