#1227 - 访问被拒绝;您需要(至少一个)超级权限才能在服务器 Cpanel 中执行此操作

Posted

技术标签:

【中文标题】#1227 - 访问被拒绝;您需要(至少一个)超级权限才能在服务器 Cpanel 中执行此操作【英文标题】:#1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation in server Cpanel 【发布时间】:2020-06-12 04:22:24 【问题描述】:

当我尝试将数据库导入我的 Cpanel 时遇到这个问题 并且发生了这个错误 “#1227 - 访问被拒绝;您需要(至少一个)超级权限才能执行此操作” 此外,我的数据库有 24 个表,但在此错误之后只有 20 个表被搁置。 尽管数据库在其他主机和本地主机中运行良好

这是错误: 错误 SQL 查询:文档

--

-- 函数

CREATE DEFINER=ato-qms-u-137073@% FUNCTION calculate_daily_rate (in_fleet_id INT, in_booking_days INT, in_booking_hours_per_day INT) 返回浮点数开始

declare fare float;
declare min_booking_days int;
declare min_booking_hours_per_day int;
declare min_booking_days_amount float;
declare rate_per_day float;

SELECT 
    f.min_booking_days, f.min_booking_hours_per_day, f.min_booking_days_amount, f.rate_per_day 
    INTO min_booking_days, min_booking_hours_per_day, min_booking_days_amount, rate_per_day
    FROM fleet f
    WHERE f.id = in_fleet_id;

if(in_booking_hours_per_day < min_booking_hours_per_day) then
    return 0;
end if;

if(in_booking_days < min_booking_days) then
    return 0;
end if;

SET fare = min_booking_days_amount + (in_booking_days - min_booking_days) * rate_per_day;
return fare;

结束

mysql 说:文档

1227 - 访问被拒绝;您需要(至少其中一项)SUPER 权限才能执行此操作

【问题讨论】:

【参考方案1】:

错误是因为您没有权限使用此用户 ato-qms-u-137073@%. 创建触发器

只需从代码中删除这一行,它应该可以工作。

ato-qms-u-137073@%

【讨论】:

我尝试删除这一行“ato-qms-u-137073@%”但没有奏效,它给出了很多错误' 这是实际行,我也尝试通过添加实际用户名 CREATE DEFINER=airporttaxisonli_ato-qms@% FUNCTION calculate_daily_rate (in_fleet_id INT, in_booking_days INT, in_booking_hours_per_day INT) 返回浮点数开始【参考方案2】:

我想你解决了。但我会在这里留下答案。 我用记事本++编辑了数据库,并删除了“Definer = your username @ local host”。 保存并再次尝试,对我来说它有效。

【讨论】:

以上是关于#1227 - 访问被拒绝;您需要(至少一个)超级权限才能在服务器 Cpanel 中执行此操作的主要内容,如果未能解决你的问题,请参考以下文章

#1227 - 访问被拒绝;您需要(至少一个)超级权限才能在服务器 Cpanel 中执行此操作

#1227 - 访问被拒绝;您需要此操作的 SUPER 权限 - 如何解决?

如何解决访问被拒绝;您需要(至少一个)在 mysql 中执行此操作的 SUPER 权限

拒绝访问;您需要(至少一个)超级权限才能执行此操作

谷歌云sql实例超级权限错误

在 phpMyAdmin 中创建函数 - 错误:拒绝访问您需要此操作的超级权限