实验理解ADMINOPTION和GRANTOPTION的用法
使用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。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

先週、マスク氏はニューラリンクのショー・アンド・テル・デモンストレーション・イベントを開催し、ブレイン・コンピューター・インターフェースの最新の進歩を世界に披露した。マスク氏は会合で、プロトタイプから量産に移行するのは非常に難しく、多くの課題に直面していると述べた。 Neuralink は人体治験を開始するために熱心に取り組んでおり、人体治験を開始するために必要なすべての文書を FDA に提出しました。マスク氏は、最初の Neuralink デバイスが 5 ~ 6 か月以内に人間の脳に搭載される可能性があると推定しています。マスク氏は会議で、ニューラリンクは動物被験者を尊重しており、ブレインコンピューターインターフェースデバイスは動物に埋め込まれる前に広範なベンチマークテストを受けていることを強調した。 2匹のサルのポケベルと

Linux パイプの使用法を深く理解する Linux オペレーティング システムでは、パイプは、あるコマンドの出力を別のコマンドの入力として使用することで、さまざまな複雑なデータ処理や操作を便利に実現できる非常に便利な機能です。 Linux パイプの使用方法を深く理解することは、システム管理者と開発者にとって非常に重要です。この記事では、パイプラインの基本概念を紹介し、具体的なコード例を通じてデータ処理と操作に Linux パイプラインを使用する方法を示します。 1. Linux におけるパイプの基本概念

PHPの値の受け渡し方法を正しく理解する方法 PHPはWeb開発で広く使われているスクリプト言語で、PHPにおけるパラメータの受け渡し方法には主に値の受け渡しと参照の受け渡しがあります。また、PHP で値がどのように渡されるかを理解することは、効率的なコードを作成するために重要です。この記事では、PHP での値の受け渡し方法について詳しく説明し、読者の理解を助けるために特定のコード例を使用します。値渡しメソッドの基本的な概念は、変数の値をコピーして関数またはメソッドに渡すことであり、関数内の値に対する操作は影響しません。

Go 言語ドキュメントの string.Split 関数を深く理解するには、特定のコード例が必要です。Go 言語では、文字列操作は非常に一般的な要件です。このうちstringsパッケージはGo言語が提供する標準パッケージであり、豊富な文字列処理機能を提供します。その中でも、strings.Split 関数はよく使われる関数の 1 つで、指定された区切り文字に従って文字列を文字列スライスに分割する機能です。 string.Split 関数を正式に説明する前に、

コメントは Go プログラミングの非常に重要な部分です。コメントは、プログラマーがコードのロジック、目的、詳細をより深く理解するのに役立ち、コードの読みやすさと保守性が向上します。この記事では、Go 言語におけるコメントの重要性を紹介し、それを具体的なコード例と組み合わせて、コメントがコードの理解にどのように役立つかを説明します。まず、簡単な Go プログラムの例を見てみましょう: packagemainimport "fmt" funcmain(){/

最新の Web アプリケーションの複雑さが増すにつれて、コード ロジックもますます複雑になってきています。この問題を解決するために、最新の Web 開発ではミドルウェアがますます普及しています。 ThinkPHP6 は、ミドルウェアもサポートする人気の PHP フレームワークです。この記事では、ThinkPHP6 ミドルウェアの基本と実際の使用方法について説明します。ミドルウェアとは何ですか? Web 開発では、ミドルウェアは HTTP リクエストとレスポンスを処理する方法を指します。クライアントがサーバーにリクエストを送信すると、

MySQL のブール型は非常に実用的なデータ型で、論理値を格納するために使用され、TRUE または FALSE の 2 つの値のみを取ることができます。 MySQL では、ブール型は BOOL または BOOLEAN とも呼ばれ、TINYINT(1) で表すことができます。この記事では、MySQL のブール型の定義、使用法、および具体的なコード例について詳しく説明します。まず、MySQL でブール列を定義する方法を見てみましょう: CREATETABLEus

Go 言語は、多くの側面で独自の設計と機能を備えた、簡潔で強力なプログラミング言語です。最も印象的な機能の 1 つは range キーワードです。これは、配列、スライス、マップ、チャネルなどのデータ構造を反復処理するために使用されます。 range の柔軟性と利便性により、複雑なデータ構造を簡単に調べることができますが、多くの人はその仕組みについて混乱しています。この記事では、range がどのように機能するかを簡単かつ詳細に説明し、読者の理解を深めるために具体的なコード例を使用します。まず、簡単な例を見てみましょう
