OceanBase logo

OceanBase

トランザクション処理、分析、AIワークロードに最適な分散データベース

デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

ドキュメント

会社概要

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

法的情報

お問い合わせ

日本 - 日本語
International - English
中国站 - 简体中文
クラウドで始める

トランザクション処理、分析、AIワークロードに最適な分散データベース

デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

法的情報

お問い合わせ

クラウドで始める
编组
すべての製品
    • データベース
    • アイコンOceanBaseデータベース
アイコン

OceanBaseデータベース

V4.3.5

    OceanBase logo

    AI時代を支える分散データベース

    日本 - 日本語
    International - English
    中国站 - 简体中文
    プロダクト
    OceanBase Cloudエンタープライズ版コミュニティ版OceanBase seekdb
    会社概要
    OceanBaseについて法的情報お問い合わせ
    公式アカウント
    ConnpassXQiitaLumaGitHub

    © OceanBase 2026. All rights reserved

    クラウドサービス契約個人情報保護ポリシーセキュリティ
    お問い合わせ
    ドキュメントフィードバック
    1. ホーム
    2. OceanBaseデータベース
    3. V4.3.5
    アイコンOceanBaseデータベース
    V 4.3.5
    • V 4.3.5

    GRANT

    最終更新日:2026-04-09 02:53:57  更新
    シェア
    このページの内容
    説明
    制限事項と注意点
    権限要件
    オブジェクト権限をユーザーに付与するための権限要件
    ロールをユーザーまたは他のロールに付与するための権限要件
    構文
    オブジェクト権限をユーザーまたはロールに付与する
    ロールをユーザーまたはロールに付与する
    パラメータの説明
    object_type
    例
    例1:オブジェクトに権限を付与する
    例2:ロールをユーザーまたは別のロールに付与する
    関連ドキュメント

    折りたたみ

    シェア

    説明

    このステートメントは、指定されたユーザーまたはロールに対応する権限を付与する、またはロールをユーザーまたはロールに付与するために使用されます。

    制限事項と注意点

    ループ状のGRANT操作はサポートされていません。例えば、ロールAがロールBに権限を付与し、ロールBがロールCに権限を付与した場合、ロールCがロールAに権限を付与しようとするとエラーが発生します。

    権限要件

    オブジェクト権限をユーザーに付与するための権限要件

    • GRANT ステートメントを実行する際、現在のユーザーは付与される権限を持っていなければなりません。例えば、ユーザー user1 がユーザー user2 にテーブル tbl1 の SELECT 権限を付与したい場合、ユーザー user1 はテーブル tbl1 の SELECT 権限を持っている必要があります。

    • GRANT ステートメントを実行する際、現在のユーザーは GRANT OPTION 権限を持っていなければなりません。OceanBaseデータベースの権限の詳細については、MySQLモードの権限分類を参照してください。

    説明

    ユーザーに権限を付与した後、そのユーザーはOceanBaseデータベースに再接続する必要があり、権限が有効になります。

    ロールをユーザーまたは他のロールに付与するための権限要件

    • 現在のユーザーが SUPER 権限を持っている場合、すべてのロールを GRANT できます。
    • ロールを他のユーザーまたはロールに付与する際、現在のユーザーは付与されるロールを持ち、かつ ADMIN OPTION 権限を持っている必要があります。現在のユーザーが持つ権限の確認方法については、ユーザー権限の確認を参照してください。

    構文

    オブジェクト権限をユーザーまたはロールに付与する

    GRANT priv_type[(column_name_list)] [, priv_type[(column_name_list)] ...]
        ON [object_type] priv_level
        TO {user [, user...]}
        [WITH GRANT OPTION];
    
    column_name_list:
        column_name [, column_name ...]
    
    object_type:
        TABLE
        | FUNCTION
        | PROCEDURE
        | CATALOG
    
    user:
        user_or_role
        | user_name IDENTIFIED [WITH auth_plugin] BY password
        | user_name IDENTIFIED [WITH auth_plugin] BY PASSWORD password
    
    user_or_role:
        user_name | role_name
    

    ロールをユーザーまたはロールに付与する

    GRANT role_name [, role_name ...]
        TO user_or_role [, user_or_role ...]
        [WITH ADMIN OPTION];
    
    user_or_role:
        user_name | role_name
    

    パラメータの説明

    パラメータ 説明
    priv_type 付与する権限のタイプを指定します。複数の権限を付与する場合は、英語のカンマ(,)で区切ります。具体的な権限タイプとその説明については、MySQLモードの権限分類を参照してください。注意:PROXYパラメータは現在のバージョンではこのキーワード構文のみを記録し、機能は有効ではありません。
    column_name_list オプション。列レベルの権限を付与する対象のリストです。付与される権限は、リストに記載された列にのみ適用されます。指定しない場合、権限はテーブル全体またはオブジェクト全体に適用されます。詳細については、直接権限付与を参照してください。
    object_type オプション。権限が適用される対象のタイプ(つまり権限の対象となるオブジェクトのタイプ)を示します。詳細については、下記のobject_typeを参照してください。
    priv_level 権限を付与するレベルを指定します。以下の形式を使用します:
    • すべてのデータベースおよびすべてのテーブルに適用されるように指定できます(*.*)。
    • データベースまたは特定のテーブルにのみ適用されるように指定します(db_name.*、*.table_name)
    • 特定のデータベース内の特定のテーブルにのみ適用されるように指定します(db_name.table_name)
    • 権限の対象となるオブジェクトのタイプがCatalogの場合、外部データカタログの名前(external_catalog_name)を指定する必要があります。
    user 権限を付与するユーザーを指定します。1人または複数のユーザーを指定でき、複数のユーザー間は英語のカンマ(,)で区切ります。ユーザーが存在しない場合、このステートメントはユーザーを直接作成します。
    auth_plugin ユーザー認証方式を指定します。現在、mysql_native_password 認証プラグインのみサポートされています。
    BY password 権限を付与するユーザーにパスワードを指定します。ここでのパスワードは平文であり、mysql.user テーブルに保存された後、サーバー側で暗号化されます。パスワードに特殊文字 ~!@#%^&*_-+=`|(){}[]:;',.?/ が含まれている場合は、英語の引用符('' または "")で囲む必要があります。
    BY PASSWORD password 権限を付与するユーザーにパスワードを指定します。ここでのパスワードは暗号文であり、直接 mysql.user テーブルに保存されます。
    WITH GRANT OPTION 権限の再付与を許可するかどうか、および権限の取り消し時のカスケードを許可するかどうかを指定します。
    role_name ロールの名前を指定します。
    WITH ADMIN OPTION ロールの権限の再付与を許可するかどうか、および権限の取り消し時のカスケードを許可するかどうかを指定します。

    object_type

    注意

    object_type 句を使用する際は、指定されたオブジェクトが実際に対応するタイプであることを確認する必要があります。そうでない場合、構文エラーが発生します。

    • TABLE:権限が適用されるオブジェクトのタイプがテーブルであることを示します。

    • FUNCTION:権限が適用されるオブジェクトのタイプが関数であることを示します。

    • PROCEDURE:権限が適用されるオブジェクトのタイプがストアドプロシージャであることを示します。

    • CATALOG:権限が適用されるオブジェクトのタイプがカタログであることを示します。

      説明

      OceanBaseデータベースV4.3.5では、権限が適用されるオブジェクトのタイプは、V4.3.5 BP2バージョンから CATALOG が導入されました。

    例:

    • user001 に test データベース内のすべてのオブジェクトに対する SELECT 権限を付与します。指定されたオブジェクトが指定されたタイプではないため、エラーが報告されます。

      GRANT SELECT ON TABLE test.* TO user001;
      

      実行結果は次のとおりです:

      ERROR 1144 (42000): Illegal GRANT/REVOKE command; please consult the manual to see which privileges can be used
      
    • user001 に test データベース内のテーブル tbl1 に対する SELECT 権限を付与します。

      GRANT SELECT ON TABLE test.tbl1 TO user001;
      
    • user002 に test データベース内の関数 calculate_salary の実行権限を付与します。

      GRANT EXECUTE ON FUNCTION test.calculate_salary TO user002;
      
    • user003 に test データベース内のストアドプロシージャ pro_generate_data の実行権限を付与します。

      GRANT EXECUTE ON PROCEDURE test.pro_generate_data TO user003;
      
    • user004 にカタログのオブジェクト test_odps_catalog に対する SELECT および USE CATALOG 権限を付与します。

      GRANT SELECT, USE CATALOG ON CATALOG test_odps_catalog TO user004 WITH GRANT OPTION;
      

    例

    例1:オブジェクトに権限を付与する

    • 既存のユーザーuser1にデータベースdb1のCREATE VIEW権限を付与し、他のユーザーに同じ権限を再付与できるように設定します。

      GRANT CREATE VIEW ON db1.* TO user1 WITH GRANT OPTION;
      
    • 既存のユーザーuser1にデータベースdb1のCREATE権限を付与し、user1のパスワードを変更します。

      GRANT CREATE ON db1.* TO user1 IDENTIFIED by '********';
      

      実行後にmysql.userテーブルのuser1ユーザーのパスワードを確認すると、最新に設定されたパスワードに更新されていることがわかります。

    • 存在しないユーザーuser2にデータベースdb1のCREATE権限を付与し、user2にパスワードを設定します。

      GRANT CREATE ON db1.* TO user2 IDENTIFIED by '********';
      
    • 既存のユーザーuser001にデータベースtest内のテーブルtbl1の列col1に対するSELECT権限を付与します。

      GRANT SELECT(col1) ON test.tbl1 TO user001;
      
    • ユーザーuser005にグローバルレベルのCREATE CATALOGおよびUSE CATALOG権限を付与します。

      GRANT CREATE CATALOG, USE CATALOG ON *.* TO user004 WITH GRANT OPTION;
      

    例2:ロールをユーザーまたは別のロールに付与する

    • ロールrole001の権限をロールrole002に付与し、再付与を許可します。

      GRANT role001 TO role002 WITH ADMIN OPTION;
      
    • ロールrole001の権限をユーザーuser001に付与し、再付与を許可します。

      GRANT role001 TO user001 WITH ADMIN OPTION;
      

    関連ドキュメント

    • ユーザーに権限を付与する操作については、権限の付与を参照してください。
    • ユーザー権限を確認する操作については、ユーザー権限の確認を参照してください。
    • mysql.userテーブルから作成されたユーザー情報を確認できます。mysql.userテーブルの詳細については、mysql.userを参照してください。
    • ロールに権限の追加
    • ロールのユーザーまたはロールへの付与
    • ロールの有効化
    • 間接的な権限付与

    前のトピック

    FLUSH TABLE
    最後

    次のトピック

    HELP
    次
    このページの内容
    説明
    制限事項と注意点
    権限要件
    オブジェクト権限をユーザーに付与するための権限要件
    ロールをユーザーまたは他のロールに付与するための権限要件
    構文
    オブジェクト権限をユーザーまたはロールに付与する
    ロールをユーザーまたはロールに付与する
    パラメータの説明
    object_type
    例
    例1:オブジェクトに権限を付与する
    例2:ロールをユーザーまたは別のロールに付与する
    関連ドキュメント