使用GRANT赋予用户权限的时候通常有ADMIN OPTION和GRANT OPTION这两个OPTION。下面使用简单的实验来体会下这两种授权的用途。 一、ADMIN OPTION参数 实验: 1. 创建测试用户user_a和user_b : 2. 默认情况下,user_ vc3Ryb25nPjxzdHJvbmc+YbrNdXNlcl9iysfDu9
使用GRANT赋予用户权限的时候通常有ADMIN OPTION和GRANT OPTION这两个OPTION。下面使用简单的实验来体会下这两种授权的用途。
一、ADMIN OPTION参数
实验:
1. 创建测试用户user_a和user_b:
2. 默认情况下,user_喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPjxzdHJvbmc+YbrNdXNlcl9iysfDu9PQvaix7cioz948L3N0cm9uZz6jujxicj4KPC9wPgo8cD48aW1nIHNyYz0="http://www.2cto.com/uploadfile/Collfiles/20141125/2014112509180832.png" alt="\">
3.
SYS账户GRANT CREATE TABLE权限给user_a,但user_a则是没有权限授予user_b建表权限:
4. SYS账户GRANT CREATE TABLE权限给user_a,同时带上WITH ADMIN OPTION,此时user_a可以授予user_b建表权限:
5. SYS账户收回user_a的CREATE TABLE权限:
6. 此时user_b仍可具有CREATE TABLE权限,尽管这里报错:
注:这个错是说user_b没有默认表空间USERS的使用权限,并不是没有建表权限,此时需要SYS账户使用GRANT UNLIMITED TABLESPACE TO user_b或ALTER USER user_b quota 100m on USERS让user_b用户可以使用USERS表空间:
总结:
1. 带有WITH ADMIN OPTION的权限授予方式,可传递授权。
2. 带有WITH ADMIN OPTION的权限授予方式,当使用REVOKE收回权限时,传递的授权并不会自动收回。
3. ADMIN OPTION用于系统权限,system privilege,例如CREATE TABLE。
二、GRANT OPTION
实验:
1. 授予user_a和user_b创建session的权限,但用user_a查询dcsopen的t1表时提示无此权限:
2. SYS账户使用WITH GRANT OPTION授予user_a查询dcsopen.t1表权限:
此时user_a可以查询表:
3. 使用user_a授予user_b查询dcsopen.t1表权限:
4. SYS账户收回user_a的查询dcsopen.t1表的权限:
5. 使用user_b用户查询dcsopen.t1表时提示无权限:
总结:
1. 使用WITH GRANT OPTION的权限授予方式,可传递授权。
2. 使用WITH GRANT OPTION的权限授予方式,当使用REVOKE收回权限时,传递的授权会自动收回。
3. GRANT OPTION用于对象权限,object privilege,例如SELECT ON TABLE。

上周,马斯克举办了 Neuralink 的 Show & Tell 演示活动,向世人展示了脑机接口的最新进展。会上,马斯克表示,从原型到生产非常困难,面临诸多挑战。Neuralink 一直在努力启动人体试验,并且已向 FDA 提交了开始人体试验所需的所有文件。马斯克估计,第一个 Neuralink 设备可能会在 5-6 个月内进入人脑。会上马斯克强调, Neuralink 尊重动物受试者,并且脑机接口设备植入动物体内之前已经进行了广泛的基准测试。两只猴子 Pager 和

深入理解Linux管道的使用方法在Linux操作系统中,管道是一种非常有用的功能,能够将一个命令的输出作为另一个命令的输入,从而方便地实现各种复杂的数据处理和操作。深入理解Linux管道的使用方法对于系统管理员和开发人员来说非常重要。本文将介绍管道的基本概念,并通过具体的代码示例来展示如何使用Linux管道进行数据处理和操作。1.管道的基本概念在Linux

如何正确理解PHP中的值传递方式PHP是一种广泛应用于Web开发的脚本语言,而在PHP中的参数传递方式主要有值传递和引用传递两种。而理解PHP中的值传递方式对于编写高效的代码至关重要。本文将详细讨论PHP中的值传递方式,并通过具体的代码示例来帮助读者更好地理解。值传递方式的基本概念值传递是指将变量的值复制一份传递给函数或方法,在函数内部对该值的操作不会影响到

在Go编程中,注释是一个非常重要的部分。注释可以帮助程序员更好地理解代码的逻辑、目的和细节,从而提高代码的可读性和可维护性。本文将介绍Go语言中注释的重要性,并结合具体的代码示例来说明注释对代码理解的帮助。首先,让我们来看一个简单的Go程序示例:packagemainimport"fmt"funcmain(){/

深入理解Go语言文档中的strings.Split函数,需要具体代码示例在Go语言中,字符串操作是非常常见的需求。其中,strings包是Go语言提供的一个标准包,提供了丰富的字符串处理函数。其中,strings.Split函数是其中一个常用的函数,它的作用是根据指定的分隔符将一个字符串拆分成一个字符串切片。在正式深入探讨strings.Split函数之前,

随着现代Web应用程序的复杂性不断增加,代码逻辑也变得越来越复杂。为了解决这个问题,中间件在现代Web开发中变得越来越流行。ThinkPHP6是一个流行的PHP框架,它也支持中间件。在这篇文章中,我们将讨论ThinkPHP6中间件的基础知识和实际使用。什么是中间件?在Web开发中,中间件是指对HTTP请求和响应进行处理的一种方式。当客户端发送请求至服务器时,

MySQL中的布尔类型是一种非常实用的数据类型,它用于存储逻辑值,只能取两种值:TRUE或FALSE。在MySQL中,布尔类型也被称为BOOL或BOOLEAN,可以用TINYINT(1)来表示。在本文中,我们将深入探讨MySQL中布尔类型的定义、用法以及具体的代码示例。首先,让我们来看一下在MySQL中如何定义一个布尔类型的列:CREATETABLEus

Go语言是一种简洁而强大的编程语言,在许多方面都具有独特的设计和特点。其中一个让人印象深刻的特性就是range关键字,它被用于迭代数组、切片、映射和通道等数据结构。range的灵活性和便捷性使得遍历复杂数据结构变得简单,但其工作原理却有许多人感到困惑。本文将深入浅出地解释range的工作原理,并通过具体代码示例来帮助读者更好地理解。首先,让我们看一个简单的例


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver CS6
視覺化網頁開發工具

WebStorm Mac版
好用的JavaScript開發工具