您的位置:首页 > 其它

函数相关参数 log_bin_trust_function_creators

2015-09-09 12:45 288 查看
Command-Line Format --log-bin-trust-function-creators

Option-File Format log-bin-trust-function-creators

Option Sets Variable Yes, log_bin_trust_function_creators

Variable Name log_bin_trust_function_creators

Variable Scope Global

Dynamic Variable Yes

Permitted Values

Type boolean

Default FALSE

This variable applies when binary logging is enabled. It controls whether stored function creators can be trusted not to create stored functions that will cause unsafe events to be written to the binary log. If set to 0 (the default), users are not permitted
to create or alter stored functions unless they have the SUPER privilege in addition to the CREATE ROUTINE or ALTER ROUTINE privilege. A setting of 0 also enforces the restriction that a function must be declared with the DETERMINISTIC characteristic, or with
the READS SQL DATA or NO SQL characteristic. If the variable is set to 1, MySQL does not enforce these restrictions on stored function creation. This variable also applies to trigger creation. See Section 18.7, “Binary Logging of Stored Programs”.

主要是考虑binlog安全,如果没开binlog的话这个值是无意义的;打开binlog后需要超级权限才能定义,并且在sql上也有需求

ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)

这个报错目前知道可以通过两个方式解决:

RETURNS double 【READS SQL DATA/DETERMINISTIC】

即在自定义函数后增加一个只读数据或者指定字符的信息
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: