在谷歌mysql上创建功能提供"SUPER权限和启用二进制日志记录"错误

M J*_*M J 5 mysql google-app-engine google-cloud-sql

尝试在Google Myql上创建函数.这些功能在另一台服务器(VPS- Godaddy)上运行良好.

官方文档说不支持用户定义函数,但我试图创建一个常规存储函数而不是UDF

查找错误 - MySQL数据库错误:您没有启用SUPER权限并且启用了二进制日志记录(您可能希望使用安全性较低的log_bin_trust_function_creators变量)

使用Toad登录

用户名使用TAdmin

示例功能:

DELIMITER $$
DROP FUNCTION IF EXISTS `func_getEQId`$$
CREATE DEFINER=`TAdmin`@`%` FUNCTION `func_getEQId` (`pTopicId` INT(11))
RETURNS BIGINT(20)

READS SQL DATA DETERMINISTIC

BEGIN
DECLARE vQId bigint (20);

SELECT QId INTO vQId FROM quests WHERE... 

RETURN vQId;

END$$
Run Code Online (Sandbox Code Playgroud)

不想禁用二进制日志记录

gab*_*ila 5

如果使用 Cloud SQL,请log_bin_trust_function_creators通过运行以下命令启用:

gcloud sql instances patch [INSTANCE_NAME] --database-flags log_bin_trust_function_creators=on
Run Code Online (Sandbox Code Playgroud)

Cloud SQL 文档中的更多信息。