【问题标题】:#1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation#1227 - 访问被拒绝;您需要(至少一个)超级权限才能执行此操作
【发布时间】:2015-09-27 17:17:54
【问题描述】:

您好,我目前遇到 MySQL 问题!

这里出了什么问题?我是 cPanel 用户,是的,我已经搜索过这个,但没有找到明确的答案。这似乎比其他具有相同错误代码问题的人更具体。请添加我可以跟随的详细回复! P.s 我使用的是共享主机帐户。

DELIMITER $$--
-- Functions
--
CREATE DEFINER =  `root`@`localhost` FUNCTION  `fnc_calcWalkedDistance` (

`steamid64` BIGINT UNSIGNED
) RETURNS INT( 10 ) UNSIGNEDNO SQL BEGIN DECLARE finished INTEGER DEFAULT 0;

DECLARE distance INTEGER DEFAULT 0;

DECLARE x1, x2, z1, z2 FLOAT;

DECLARE curs CURSOR FOR SELECT x, z
FROM log_positions
WHERE  `steamid` = steamid64
ORDER BY  `timestamp` DESC ;

DECLARE CONTINUE HANDLER FOR NOT FOUND SET finished =1;

OPEN curs;

FETCH curs INTO x1, z1;

SET x2 = x1;

SET z2 = z1;

calculate : LOOPFETCH curs INTO x1, z1;

IF finished =1 THEN LEAVE calculate;

END IF ;

SET distance = distance + SQRT( POW( x2 - x1, 2 ) + POW( z2 - z1, 2 ) ) ;

-- SET distance = distance + 1;
SET x2 = x1;

SET z2 = z1;

END LOOP calculate;

CLOSE curs;

RETURN distance;

END$$

这是错误代码:

MySQL said: Documentation

#1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation 

【问题讨论】:

    标签: mysql cpanel


    【解决方案1】:

    这意味着您没有使用 root@localhost 用户创建触发器的权限..

    尝试从触发命令中删除定义器:

    创建 DEFINER = root@localhost 函数 fnc_calcWalkedDistance

    【讨论】:

    • 我将我的数据库转储到 sql 文件,我不记得创建任何这样的函数...搜索转储文件,我在最后一行找到了这个命令,我删除并工作,谢谢。
    • 谢谢,在我的情况下,我通过重命名root@localhost to serverusername@loc​​alhost`来修复它
    【解决方案2】:

    如果您在 cpanel 上上传 sql 文件,请尝试在 sql 文件中将 root 替换为您的 cpanel 用户名。

    在上面的情况下你可以写

    创建定义器 = control_panel_username@localhost FUNCTION fnc_calcWalkedDistance

    然后上传文件。 希望对你有帮助

    【讨论】:

    • 是的,我是 control_panel_user@localhost
    【解决方案3】:

    只需删除“DEFINER=your user name@localhost”并从 phpmyadmin 运行 SQL 即可正常工作。

    【讨论】:

    • 成功了,这是一个完美的答案。 GoDaddy 告诉我应该为此购买专用服务器,但你救了我的命。
    【解决方案4】:

    从包括过程在内的所有调用中删除 DEFINER=root@localhost

    【讨论】:

      【解决方案5】:

      改变

      CREATE DEFINER =  `root`@`localhost` FUNCTION  `fnc_calcWalkedDistance` (
      

      FUNCTION  `fnc_calcWalkedDistance` (
      

      【讨论】:

        猜你喜欢
        • 2016-11-08
        • 2017-10-16
        • 2020-06-12
        • 2015-01-28
        • 2023-01-28
        • 2016-08-06
        • 2016-08-07
        • 2020-02-19
        • 2020-09-04
        相关资源
        最近更新 更多