説明
この変数はV2.2.77バージョンから導入されました。
機能の概要
secure_file_privは、ファイルへのインポートまたはエクスポート時にアクセス可能なパスを制御します。
説明
log/alertディレクトリはシステムテナントのファイルアクセス権限のホワイトリストに含まれており、secure_file_priv権限のチェック時にこのディレクトリはスキップされます。
注意
セキュリティ上の理由から、このグローバル変数を変更するSQLステートメントを実行できるのは、ローカルUnixソケット接続を介して接続されたクライアントのみです。
権限要件
変数の確認
sysテナントとすべてのユーザーテナントはSHOW VARIABLESステートメント、またはSYS.TENANT_VIRTUAL_GLOBAL_VARIABLEビュー(Oracleモード)およびinformation_schema.GLOBAL_VARIABLESビュー(MySQLモード)を使用してグローバルシステム変数の値を確認できます。変数の変更
グローバル有効
sysテナントはグローバルシステム変数の値を直接変更できます。MySQLユーザーテナントは
SUPERまたはALTER SYSTEM権限が必要です。Oracleユーザーテナントは
ALTER SYSTEM権限が必要です。
プロパティの説明
プロパティ |
説明 |
|---|---|
| パラメータタイプ | Varchar |
| デフォルト値 | ""、空文字列を表します。
説明V4.2.1バージョン以降、デフォルト値は |
| 値の範囲 |
説明V4.2.0バージョン以降、列挙値 |
| 適用範囲 | Global |
| 変更は可能か | はい。SETステートメントを使用して変更できます。 |
| NULL許容 | はい |
使用方法
OceanBaseデータベースへの接続は、ローカルUnixソケット経由のみサポートされています。
obclient -S /home/admin/oceanbase/run/sql.sock -u******@obtenant -p******
現在のユーザーがOBServerを起動したユーザーと異なる場合、現在のユーザーにはsql.sockへの権限がないため、以下のコマンドで接続する必要があります。
sudo -u <user of observer> obclient -S /home/admin/oceanbase/run/sql.sock -u******@obtenant -p******
パラメータの説明は以下の通りです:
- -S:ローカルOBServerノードのUnixソケットファイルパスを指定します。このファイルは、ローカルOBServerのインストールディレクトリ配下のrun/sql.sockにあります。デフォルトのUnixソケットファイルパスは
/home/admin/oceanbase/run/sql.sockです。 - -u:テナントの接続アカウントを指定します。形式は
ユーザー名@テナント名です。
Unixソケット方式で接続する場合、ローカルOBServerノードにのみ接続できます。また、そのテナントのリソースがローカルOBServerノード上に分散配置されていることも保証する必要があります。テナントのリソースがローカルOBServerノード上に配置されていない場合、ローカルOBServerノードからそのテナントに接続することはできません。
設定例
ファイルへのインポートまたはエクスポート時にアクセス可能なパスを""に設定します。
obclient> SET GLOBAL secure_file_priv = "";