説明
この変数は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バージョン以降、列挙値 |
| 適用範囲 | グローバル |
| 変更は可能か | はい。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 = "";