mysql 跑存储过程没有权限的问题】的更多相关文章

1.赋予权限 GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; 2.刷新权限 FLUSH PRIVILEGES;…
直接上代码 grant execute on procedure 表名.存储过程名(eg: student.find) to '用户名'@'host'(eg: 'volumelicense'@'%') ;flush privileges; 完整的例子: grant execute on procedure sales.check_acount to 'root'@'%'; flush privileges; 附:查看存储过程权限的命令:http://www.cnblogs.com/tommy-h…
今天在测试项目的时候  突然就报了一个错出来. User does not have access to metadata required to determine stored procedure parameter types. If rights can not be granted, configure connection with "noAccessToProcedureBodies=true" to have driver generate parameters tha…
MySQL中以用户执行存储过程的权限为EXECUTE 比如我们在名为configdb的数据库下创建了如下存储过程,存储过程的定义者为user_admin use configdb; drop procedure if exists sp_dev_test_user_add; delimiter $$ CREATE DEFINER=`user_admin`@`%` PROCEDURE `sp_dev_test_user_add`( in var_user varchar(30), in var_i…
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为“中国PE第一股”,市值超1000亿元.  ---------------------------------------------------------------------------------…
tags: mysql  PROCEDURE 存储过程 definer SECURITY 权限 以下存储过程,限定了DEFINER为root,也就是root之外的账户是无法调用这个存储过程的. 1 2 3 4 5 6 CREATE DEFINER=`root`@`%` PROCEDURE `ProcName`(         IN param  INT(16)     ) BEGIN ... END 在数据库的mysql库,proc表中,可以查看到存储过程的信息. 其中有一个列名为define…
mysql中用户对存储过程的权限有: ALTER ROUTINE 编辑或删除存储过程 CREATE ROUTINE 创建存储过程 EXECUTE运行存储过程 存储过程的创建者拥有存储过程的ALTER.CREATE.EXECUTE权限. 详细实验后续补充. DEFINER用于指明存储过程是由哪个用户定义的,默认存储过程的定义者是存储过程,跟存储过程的使用权限无关. INVOKER用于指定哪些用户有调用存储过程的权限,此时会以调用者的权限去执行存储过程. 默认情况下被执行的存储过程具有其创建者的权限…
分析:JDBC在调用存储过程时不光用户要有execute的权限,还需要对mysql.proc具有访问权限.否则它无法访问metadata 解决方案:给数据库用户赋权,赋执行mysql.proc表的select权限,示例如下: GRANT SELECT ON mysql.proc TO 'user'@'localhost';…
在其他RDBMS中,可以将查看某个存储过程(PROCEDURE)定义的权限给某个用户,例如在SQL Server中,可以单独将查看ProcedureName定义的权限授予UserA GRANT VIEW DEFINITION ON ProcedureName TO UserA; --用具体的存储过程名和账号替换 那么在MySQL中能否实现这个功能呢? 找了很多资料,没有看到有这方面的功能,官方文档没有涉及这样的权限,网上有个方法:可以通过授予用户查询mysql.proc这样的权限来间接实现这个功…
用户管理 mysql>use mysql; 查看 mysql> select host,user,password from user ; 创建 mysql> create user  zx_root   IDENTIFIED by 'xxxxx';   //identified by 会将纯文本密码加密作为散列值存储 修改 mysql>rename   user  feng  to   newuser://mysql 5之后可以使用,之前需要使用update 更新user表 删除…