【发布时间】:2018-11-06 19:37:36
【问题描述】:
我已经配置了一个 Azure Database for MySQL 并且能够成功连接到它。我还可以创建新表并在这些表上运行查询,但是在创建存储过程时,出现以下错误:-
Er 1227. Access error Code: denied; you need (at least one of) the SUPER privilege(s) for this operation
示例程序是尝试的
DELIMITER $$
CREATE DEFINER='user'@'server'
PROCEDURE `sp_getComplaintsByBranchCode`(
in branchCode Varchar(50),
in companyCode Varchar(50),
in RowsPerPage INT,
in pageNumber INT
)
NOT DETERMINISTIC NO SQL SQL SECURITY DEFINER
BEGIN
DECLARE pageFrom INT;
DECLARE rowLimit INT;
DECLARE companyid varchar(50);
DECLARE branchid varchar(50);
DECLARE offval INT;
SET pageFrom = pageNumber;
SET rowLimit = RowsPerPage;
SET branchid = branchCode;
SET companyid = companyCode;
SET offval = ((pageFrom-1) * rowLimit);
select * from complaints c
WHERE c.branchCode = branchid AND c.fb_companyID = companyid
ORDER BY added_on DESC limit rowLimit OFFSET offval;
END
我检查了用户权限,并且在初始设置期间创建的数据库管理员用户没有超级权限。唯一拥有超级权限的用户是“azure_superuser”,我没有它的连接密码。请帮助我解决以下问题或指出一些可以提供帮助的参考资料:-
1) 如何连接到“azure_superuser”或 2)如何将超级用户权限授予我没有以root用户身份登录的管理员用户。 3) 如何让 super_priviledge 为“N”的用户在 Azure 数据库中为 MySQL 创建存储过程。
一些参考资料:-
【问题讨论】:
标签: mysql azure azure-sql-database