在谷歌mysql上创建函数给出"SUPER privilege and binary logging is enabled"错误



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

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

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

使用蟾蜍登录

使用的用户名

示例函数:

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$$

不想禁用二进制日志记录

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

gcloud sql instances patch [INSTANCE_NAME] --database-flags log_bin_trust_function_creators=on

有关详细信息,请参阅云 SQL 文档。

相关内容

  • 没有找到相关文章

最新更新