`

mysql 执行存储过程的权限

 
阅读更多
在应用程序中调用存储过程,出现如下错误信息:
test_procedure executed failed because : Driver requires declaration of procedure to either contain a '\nbegin' or '\n' to follow argument declaration, or SELECT privilege on mysql.proc to parse column types.
这应该是由于MySQL用户权限不足造成的。
根据上述提示,修改了mysql.proc表中test_procedure所对应记录的definer字段的值。
原值为root@localhost,后修改为当前使用的用户myuser@%。这样就没问题了。
通过上述实验,似乎说明某个存储过程只能被自己的definer调用。
但我对此十分怀疑

又使用root@localhost创建了一个简单的存储过程test_proc,然后使用myuser@localhost用户call这个过程。
此时并没有报权限不足的问题

我可能对SELECT privilege on mysql.proc to parse column types这句话没有理解清楚。
请大家不吝指教!



转自:http://bbs.chinaunix.net/thread-893451-1-1.html
分享到:
评论

相关推荐

    mysql存储过程教程

    存储过程是由一个或多个SQL语句组成的集合,存储在数据库中,可以像函数一样被调用执行。它们可以接受参数,返回结果,并且能够处理复杂逻辑,如条件判断和循环结构。在大型项目中,存储过程有助于减少网络传输,...

    Java实现调用MySQL存储过程详解

    总的来说,Java通过JDBC调用MySQL存储过程涉及到连接数据库、创建`CallableStatement`、执行存储过程和处理结果。这使得开发者能够在Java应用中灵活地利用数据库提供的强大功能,实现更高效的数据处理。

    mysql创建存储过程

    - **EXECUTE** 权限:执行存储程序需要此权限,创建者自动获得此权限。 - **SQL SECURITY** 特性:默认为 **DEFINER**,这意味着执行存储程序的用户必须具有执行创建者的权限集。 #### 四、总结 存储程序为MySQL...

    Mysql导出存储过程

    ### MySQL导出存储过程详解 #### 一、背景与问题描述 在进行某学院网站部署的过程中,遇到一个错误:“FUNCTION config_get does not exist”。通过排查发现,错误出现在Java代码中的`conn.prepareCall("{call ...

    MySQL存储过程学习

    相比于单条SQL语句,存储过程有以下优点:提高性能(因为编译只需要一次)、减少网络流量(因为只需发送调用存储过程的命令而非多条SQL)、增强安全性(可以控制对存储过程的访问权限)以及增加代码的可读性和可维护...

    \MySQL 5.0 存储过程.pdf

    根据提供的文档信息,本文将深入解析《MySQL 5.0 存储过程》这一主题,重点探讨存储过程的概念、特点以及在 MySQL 5.0 中的应用。存储过程是数据库管理系统中一项重要的功能,它允许开发者编写可重用的 SQL 代码块,...

    玩转MySQL存储过程

    - **性能差异**:由于数据库引擎的不同,两者在执行存储过程时的性能也会有所不同。 **结论**:尽管如此,存储过程的核心理念——提高代码复用性、增强安全性以及提高执行效率,在两种数据库系统中都是相通的。根据...

    MYSQL的存储过程实例文档

    5. **安全机制**:通过限制对存储过程的访问权限,可以间接控制对数据的访问,从而提高数据安全性。 #### 二、MySQL存储过程的引入 尽管MySQL早期版本(5.0之前)不支持存储过程,但自MySQL 5.0起,这一功能已经被...

    MySQL存储过程系统学习资料

    3. **执行存储过程**:创建完存储过程后,通过`CALL`关键字来调用执行。 ```sql CALL 过程名(参数值, ...); ``` 4. **异常处理**:MySQL的存储过程中可以使用`DECLARE`声明变量和`BEGIN...END`块来处理异常。`...

    Mysql5存储过程中文详解

    - **安全性**:可以设定存储过程的执行权限,增强数据库的安全防护。 ### 编写存储过程的注意事项 - **风格和约定**:保持一致的编程风格和约定,如变量命名规则,可以使代码更易于理解和维护。 - **错误检查**:...

    MySQL存储过程经典教程

    - **安全性**:通过权限控制,可以限制用户直接操作数据,只允许调用存储过程。 - **事务管理**:方便在存储过程中进行事务控制,确保数据一致性。 5. **存储过程的参数** - **IN参数**:传递给过程的输入值,...

    MySQL存储过程 参考查阅资料

    通过`CALL`关键字来执行存储过程,如`CALL proc_name(value1, @var2);`。 4. **存储过程的优势**: - 提高性能:因为SQL语句被预编译,执行时只需解析一次。 - 数据安全性:可以通过权限控制限制对数据的直接...

    MySQL存储过程.pdf

    MySQL存储过程(Stored Procedure)是一种复杂的数据库对象,允许用户将多个SQL语句组合成一个单一的执行单元,以提高数据库的性能和可维护性。下面是 MySQL 存储过程的相关知识点: 存储过程的定义和示例 存储...

    MySQL存储过程 MySQL存储过程

    4. **安全性增强**:通过存储过程可以实现更为精细的权限控制,确保只有授权用户才能访问特定的数据或执行特定的操作。 #### 六、存储过程的注意事项 - 在设计存储过程时,应考虑异常处理,确保当遇到错误时能够...

    mysql存储过程、触发器.pdf

    MySQL 存储过程和触发器详解 MySQL 存储过程是指一组为了完成特定功能的 SQL 语句集合。存储过程的优点包括: 1. 封装性:存储过程可以将多个 SQL 语句封装在一起,方便调用和维护。 2. 可增强 SQL 语句的功能和...

    mysql存储过程实例

    总的来说,MySQL存储过程是数据库开发中的强大工具,它们能够封装复杂的业务逻辑,提高代码复用性,减少网络流量,并提供更高的安全性,因为它们可以被限制只在特定的权限范围内执行。对于大型项目或需要大量数据...

    MySQL存储过程基础教程.pdf

    存储过程中的权限设置可以保护数据安全,只允许拥有适当权限的用户执行特定的存储过程。 #### 12. 函数 在MySQL中,存储过程和函数是类似的编程结构,但函数必须返回一个值,而存储过程可以有输入输出参数,但不...

    MySQL存储过程实例教程

    5. **安全机制强化:**系统管理员可控制存储过程的执行权限,进而限制数据访问,确保数据安全。 #### MySQL存储过程发展历程与应用 早期版本的MySQL(5.0前)并未支持存储过程,这一缺失限制了其在复杂应用领域的...

Global site tag (gtag.js) - Google Analytics