低权用户调用高权用户创建的存储过程出错:noAccessToProcedureBodies
来源:互联网 发布:qq伪装手机型号软件 编辑:程序博客网 时间:2024/06/08 11:19
低权用户调用高权用户创建的存储过程出错
首先,一般情况应该在服务器为数据库建立一个单独的账号,以用于管理数据库,并且该用户权限应被严格控制。而在登录SQL数据库时,应使用创建的单独账号进行数据库一些DLL定义,如建立触发器、函数、存储过程。
尤其是存储过程,因为如果是root等高权限用户建立的存储过程,低权用户访问可能出现:
【Userdoes not have access to metadata required to determine stored procedureparameter types. If rights can not be granted, configure connection with"noAccessToProcedureBodies=true" to have driver generateparameters that represent INOUT strings irregardless of actual parametertypes.】
等类似错误。原因在于低权用户访问了高权用户创建的存储过程。
解决办法有三:
1、连接url:jdbc:mysql://ipaddress:3306/test?noAccessToProcedureBodies=true
2、给相关连接用户授予权限:GRANT SELECT ON mysql.proc TO 'user'@'localhost';
3、右键该存储过程,选择对象属性,将定义者改为该低权用户,或命令修改:mysql>update mysql.proc set DEFINER='usename' WHERE NAME='proc_name' AND db='mydb';
阅读全文
1 0
- 低权用户调用高权用户创建的存储过程出错:noAccessToProcedureBodies
- 用户自定义存储过程的创建
- 为SQL创建只能执行存储过程的用户
- 查看当前的用户都创建了什么存储过程
- java调用Oracle用户登录存储过程
- java调用Oracle用户登录存储过程
- 调用存储过程(实现用户注册例子)
- MySQL使用存储过程创建用户
- 删除用户的存储过程
- 用户验证SQL存储过程和调用存储过程
- 数据库存储过程(调用不同数据库或不同用户下的存储过程)
- 用户登录存储过程
- 处理孤立用户的存储过程
- 处理孤立用户的存储过程
- MySQL 用户执行存储过程的权限
- MySQL 用户执行存储过程的权限
- MySQL用户执行存储过程的权限
- ORACLE用户创建过程
- 概率 && 期望 入门
- LFS-Linux From Scratch学习笔记——构建LFS系统
- ubuntu16+gtx1050+anaconda+tensorflow
- 洛谷P2149 [SDOI2009]Elaxia的路线(最短路,拓扑排序)
- JavaScriptDOM练习之滚动条效果
- 低权用户调用高权用户创建的存储过程出错:noAccessToProcedureBodies
- UVALive
- Android-Gson使用详解
- <C语言经典100例>c37 百元买百鸡
- 随笔 | macports 配置
- View.post在Android 7.0 api24(以上)已不再100%执行
- Android异步更新UI的四种方法及源码简析
- UOJ #164. 【清华集训2015】V 线段树
- 覆盖索引---MyISAM 与 InnoDB