mysql 存储过程权限相关

摘要:
淘宝、天猫、聚划算和商家正在短时间内创造爆款。有各种各样的东西,如即时杀人、东东抢劫和优惠券。只有你能想到,但你做不到。祝您购物愉快,您的购物助手!

1.修改mysql 存储过程的definer
修改mysql.proc表 的definer字段

  update mysql.proc set definer='root@%' where db='servant_591up'; UPDATE `mysql`.`proc` SET `definer`='root00@%' WHERE `db`='test' AND `name`='jjjj' AND `type`='PROCEDURE'; UPDATE `mysql`.`proc` SET `definer`='wtc_678869@%' WHERE `db`='servant_591up' AND `type`='PROCEDURE'; 


2.修改sql security

  ALTER PROCEDURE www SQL SECURITY INVOKER ; ALTER PROCEDURE www SQL SECURITY DEFINER ;



(1)MySQL存储过程是通过指定SQL SECURITY子句指定执行存储过程的实际用户;

(2)如果SQL SECURITY子句指定为DEFINER,存储过程将使用存储过程的DEFINER执行存储过程,验证调用存储过程的用户是否具有存储过程的execute权限和DEFINER用户是否具有存储过程引用的相关对象的权限;

(3)如果SQL SECURITY子句指定为INVOKER,那么MySQL将使用当前调用存储过程的用户执行此过程,并验证用户是否具有存储过程的execute权限和存储过程引用的相关对象的权限;

(4)如果不显示的指定SQL SECURITY子句,MySQL默认将以DEFINER执行存储过程。

淘宝、天猫、聚划算,商家短期打造爆款,秒杀、咚咚抢、优惠券,应有尽有,只有您想不到,没有做不到,开心购呀购(网址:www.kxgba.com,微信小程序搜索:开心购呀购),您的购物好助手!

mysql 存储过程权限相关第1张


3.执行存储过程授权

  GRANT EXECUTE ON test.* TO 'wtc'@'%'; GRANT CREATE ROUTINE,ALTER ROUTINE, SELECT,CREATE, INSERT, UPDATE, DELETE, EXECUTE ON test.* TO 'wtc'@'%' IDENTIFIED BY '111111'


CREATE ROUTINE : 创建存储过程的权限
ALTER ROUTINE : 修改存储过程的权限

4.删除用户

REVOKE  all ON test.* FROM wtc@'%'


DELETE FROM user WHERE User='user_name' and Host='host_name'; 

FLUSH PRIVILEGES;

免责声明:文章转载自《mysql 存储过程权限相关》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇转://Linux MultiPath多路径软件实施说明LCA问题【RMQ+Tarjan】下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ORACLE恢复误删除的对象(表、存储过程等)

1.恢复存储过程 原理就是利用了oracle里所有的存储过程的源代码都是存在dba_source里,而drop某个存储过程的时候,oracle这里肯定要去dba_source里把相关的源代码给delete掉,既然是delete,那就好办咯,直接flashback query就可以了。如下: select * from dba_source as of ti...

linux安装mysql5.6

1. 下载mysql  https://dev.mysql.com/downloads/mysql/5.6.html#downloads    2. 上传解压    3. 删除安装包, 重命名解压后的文件    4. 先检查是否有mysql用户组和mysql用户,没有就添加有就忽略: groups mysql    添加用户组和用户 groupadd my...

mysql 字段存储多个值 ,判断一个值是否在其中

表C_file,其中有个字段是spile,他存的是字符形式,例如: id spile 1 2,10,11 2 2,3,20,22 3 1,6,8 4 5,6,1,9 select * from C_file where spile LIKE '%1%' 如果这样查询的话,会查询出ID为1、3、4,但正确的应该是3、4 那么这个SQL...

MySql中delimiter的作用是什么?

这个命令与存储过程没什么关系吧。其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。默认情况下,delimiter是分号;。在命令行客户端中,如果有一行命令以分号结束,那么回车后,mysql将会执行该命令。如输入下面的语句mysql> select * from test_table;然后回车,那么MySQL将立即执行该...

JPA-映射MySql text类型

JPA 映射到 MySql 的 text 类型 ——墨问苍生 创建一个Bean jpa如果直接映射mysql的text/longtext/tinytext类型到String字段会报错。需要设置一下@Lob和@Column。 @Lob代表是长字段类型,默认的话,是longtext类型,所以需要下面这个属性来指定对应的类型。 Notice.java...

MYSQL8.0+ 使用JDBC查询中文乱码的问题

在建表时,附加一句  DROP TABLE IF EXISTS `sys_table`;CREATE TABLE `sys_table` ( ... ) ENGINE=InnoDB DEFAULT CHARSET=utf8;set names gb2312; navicat 如果出现中文乱码,可以查看mysql的字符集和navicat字符集是否统一,使用 ...