首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL能否授予查看存储过程定义权限给用户

在其他RDBMS中,可以将查看某个存储过程(PROCEDURE)定义的权限给某个用户,例如在SQL Server中,可以单独将查看ProcedureName定义的权限授予UserA GRANT VIEW...(不仅仅是某个某个存储过程,或某个数据库的存储过程的定义), 这里就涉及一个权限放大的问题。...例如,我本来打算只授予用户A查看存储过程PRC_A的定义权限,但是那样授权后,A能查看很多存储过程的定义,甚至还能查看一些没有访问权限数据库的存储过程的权限。...个人测试发现,授予alter routine后,就能查看存储过程的定义,但是这个授权也带来一个问题,授予权限的用户不仅可以查看存储过程定义,而且可以删除这个存储过程(这个也是一个问题)。...mysql.proc来间接实现查看存储过程定义的权限,在MySQL 8.0 可以通过授予用ALTER ROUTINE的权限来间接实现查看存储过程定义的权限,两者都有一个问题,那就是会放大权限,这个属于MySQL

3.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Oracle创建表空间、创建用户、授予权限、锁定、解锁以及删除用户等

    Oracle创建表空间、创建用户、授予权限、锁定、解锁以及删除用户等 --创建表空间 CREATE TABLESPACE caiyl DATAFILE 'D:\Oracle\app\caiyl\oradata...\caiyl\oradata\orcl\caiyl_temp.dbf' RESIZE 8192M; --删除用户 DROP USER caiyl CASCADE --把数据导入不同于原系统的表空间,在导入之后却往往发现...,数据被导入了原表空间(下面解决此方法) grant connect, resource,dba to caiyl; --回收用户unlimited tablespace权限,这样就可以导入到用户缺省表空间...caiyl_space account lock; --创建用户,在表空间的配额为10mb,口令设为过期状态(即首次连接数据库时要修改口令) create user caiyl identified...,同时将该用户解锁 alter user caiyl identified by newpassword account unlock; --修改默认表空间,在该表空间的配额为20MB,在USER的表空间配额为

    1K30

    mysql授予用户新建数据库的权限

    好久不用mysql了,今天拾起来,新建用户,用Navicat连接之后,发现没有新建数据库的权限。...找了好久才找到方法,那就是新建用户之后授权的的时候授予用户在所有数据库上的所有权限,(当然有可能有别的方法,希望知道的前辈们指导我)语句如下: #后面的密码123456是demo用户的密码,不是root...后面的密码123456是demo用户的密码,不是root用户的密码,如果有同名的用户,会修改demo用户的密码 下面附送亲测有效的新建用户,新建数据库,用户授权,删除用户,修改密码的打包套餐: 1.新建用户...注意:此处的”localhost”,是指该用户只能在本地登录,不能在另外一台机器上远程登录。如果想远程登录的话,将”localhost”改为”%”,表示在任何一台电脑上都可以登录。...mysql>create database demoDB;   2.3 授权test用户拥有testDB数据库的所有权限(某个数据库的所有权限):慎重:后面的密码是demo用户的密码,不是root用户的

    13.1K30

    oracle创建简单的存储过程

    创建基本的存储过程 create or replace procedure test1( param1 in number, --传入参数1 param2 in varchar2...end test1; 函数说明 create or replace procedure test1:创建一个名称为test1的存储过程, 如果存在就覆盖它; is:关键词,表明后面将跟随一个PL/SQL...存储过程参数不带取值范围,类型可以使用任意Oracle中的合法类型; in表示传入; out表示输出; 2、变量 cus_param1 number,cus_param2 varchar2(20)变量带取值范围...,类型可以使用任意Oracle中的合法类型; 创建带判断和事务的存储过程 create or replace procedure test2(bf_id in number,status in number...others then Dbms_output.Put_line(sqlerrm); --打印输出错误 Rollback; --回滚事务 dbms_output.put_line('存储过程执行异常

    2.4K50

    Oracle存储过程及举例(几种参数情况的存储过程)

    大家好,又见面了,我是你们的朋友全栈君。 存储过程 存储过程可以有多个或者零个输入输出参数,但通常没有返回值。...存储过程是已经编译好的代码,所以执行效率非常高 存储过程创建语句 create [or replace] procedure 存储过程名 [(输入、输出参数、in/out模式参数)] is/as begin...sentences; [exception sentences;] end 存储过程名; 举例一个没有参数的存储过程 create or replace procedure pro_no_par...举例一个带in模式参数的存储过程 参数的方式有三种:指定名称传递;按位置传递;混合方式传递 注意混合方式传递从使用【指定名称传递】的位置开始,后面的参数必须使用【指定名称传递】 create or...*Action: 观察存储过程中变量的使用(存储过程的输入输入参数,字符型不用定义长度,内部的字符型型变量是需要带长度的) 内部的变量不需要用declare,内部变量的定义在as之后, begin end

    1.7K30

    mysql储存过程怎么写_oracle的存储过程写法

    存储过程写法是什么存储过程的写作是什么,存储过程的编写如下:1 .用代码[创建进程名]创建一个存储过程;2.用[EXECSP _ NAME]代码调用存储过程。...预防 (1)不能在一个存储过程中删除另一个存储过程,但只能调用另一个存储过程 4、其他常用命令 1 .显示程序状态 显示数据库中所有存储过程的基本信息,包括数据库、存储过程名称、创建时间等。...2 .显示创建过程sp_name 显示mysql存储过程的详细信息 3.exec sp_helptext sp_name 显示由sp_name对象创建的文本。以上是存储过程写什么的详细内容。...请多关注其他关于Lei.com PHP知识的相关文章! 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    4K20

    小知识:如何赋予用户查看所有存储过程和触发器的权限

    客户有这样一个需求,需要赋予用户test查看所有存储过程和触发器的权限,但是不能够对其进行修改或删除。...但是实际查询存储过程和触发器,并没有显示SELECT这样的权限,可以这样查询: SQL> select * from session_privs where PRIVILEGE like '%TRIGGER...现在在用户jingyu下创建测试用的存储过程和触发器: --create procedure jingyu.sp_pro1 create or replace procedure jingyu.sp_pro1...,发现分别授予DEBUG ANY PROCEDURE和ADMINISTER DATABASE TRIGGER的权限可以实现查看所有存储过程和触发器的权限。...grant DEBUG ANY PROCEDURE, ADMINISTER DATABASE TRIGGER to test; 使用test用户登陆,比如plsql工具,验证可以查看到其他用户的存储过程和触发器

    1.2K20

    如何最小化授予普通用户查看执行计划所需要的权限

    作者 | JiekeXu 来源 | JiekeXu DBA之路(ID: JiekeXu_IT) 大家好,我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来讨论一下如何最小化授予普通用户查看执行计划所需要的权限...下面列出了这些功能: DISPLAY - 格式化和显示计划表的内容。 DISPLAY_AWR - 格式化并显示 AWR 中存储的 SQL 语句的执行计划的内容。...DISPLAY_SQL_PLAN_BASELINE 函数要求用户具有 SELECT 或 READ 权限 DBA_SQL_PLAN_BASELINES 以及执行用户试图获取计划的 SQL 语句的权限。...总 结 说了这么多来总结一下吧,普通用户使用 DBMS_XPLAN.DISPLAY_CURSOR 查看执行提示没有权限时,由于对权限的严格把控,既不能直接授予 DBA 权限也不能授予 select...只需要单独授予 VSQL_PLAN, VSESSION 和 VSQL_PLAN_STATISTICS_ALL 和 VSQL 这四个视图的查询权限即可。

    1.5K20

    Oracle创建用户并给用户授权查询指定表或视图的权限

    : 我们有这样一个需求:在数据库中建立两个用户,用户A 用于创建一些视图,直接访问自己数据库中一个模式下的表,以及通过数据库链路访问其他数据库中的表;另一个用户B 能访问到这个用户A 中的视图,并且只能访问视图...第一步,创建新用户A 和B 。 这里用户名称分别为ryd_interface_src  和ryd_interface ,对这两个用户都授予非常有限的权限。...A 中,将视图查询权限授予给用户B 因为在步骤二中,加了with grant option ,所以这里视图查询权限可以成功授予。...TO hr; Oracle创建表空间、创建用户、授权、授权对象的访问以及查看权限 1.创建临时表空间 Oracle临时表空间主要用来做查询和存放一些缓冲区数据。...testuser两个基本的角色权限 CONNECT角色:    –是授予最终用户的典型权利,最基本的        CREATE    SESSION    –建立会话 RESOURCE角色:

    8.2K20

    oracle存储过程递归调用_函数的间接递归调用

    大家好,又见面了,我是你们的朋友全栈君。 存储过程和函数一样也可以递归调用,调用方法类似。...set @INPUT=@INPUT-1 set @Sum=@Sum+@INPUT EXEC aProc_Test @INPUT,@Sum output end END GO --调用存储过程...输出结果: 注意:递归存储过程一般会用到 output 或 return,两者返回值类型上有一定的区别,output 基本上没有限制,但 return 返回的一般是 int 类型。...value,@next; end close judgeCursor; deallocate judgeCursor; return 0; --处理分支结束 END 版权声明:本文内容由互联网用户自发贡献...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1.4K10
    领券