为什么我在 phpMyAdmin 中创建函数时收到'错误:访问被拒绝;此操作需要超级权限”?

Susan Sarandon
发布: 2024-10-31 17:13:30
原创
985 人浏览过

Why Am I Getting

错误:访问被拒绝:在 phpMyAdmin 中创建函数

在 phpMyAdmin 中执行 SQL 查询创建函数时,用户可能会遇到“错误:访问被拒绝;您需要超级权限才能执行此操作”消息。此错误源于权限要求。

识别问题

两个主要问题可能导致此错误:

  1. 缺失CREATE ROUTINE 权限: MySQL 5.0.3 及以上版本需要执行 CREATE PROCEDURE 和 CREATE FUNCTION 查询的 CREATE ROUTINE 权限。
  2. DEFINER 限制: DEFINER 属性指定拥有存储过程或函数的用户。如果 DEFINER 设置为受限用户,则调用者必须拥有 SUPER 权限才能创建对象。

解决方案

删除 DEFINER 属性:

要消除对 SUPER 权限的需要,请删除 DEFINER来自 SQL 查询的属性。这会将函数的所有权授予当前用户。

<code class="sql">CREATE FUNCTION `f_calc_gst`(p_ht decimal(15,3), p_province varchar(2)) RETURNS varchar(255) CHARSET utf8
...</code>
登录后复制

在 phpMyAdmin 中设置分隔符字段:

在执行修改后的查询之前,请确保分隔符字段为在 phpMyAdmin 中的 SQL 文本框下正确设置。

其他注意:

  • 二进制日志记录可能需要 SUPER 权限。
  • 创建函数后,用户可以向其他用户或角色授予特定权限。

以上是为什么我在 phpMyAdmin 中创建函数时收到'错误:访问被拒绝;此操作需要超级权限”?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板