Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
HTML Download (Zip) - 7.2Mb


MySQL 5.6 リファレンスマニュアル  /  ...  /  ユーザー定義関数のセキュリティー上の予防措置

24.3.2.6 ユーザー定義関数のセキュリティー上の予防措置

MySQL では、ユーザー定義関数の誤用を防ぐためのさまざまな対策が講じられています。

UDF オブジェクトファイルは任意のディレクトリに配置できません。これらはサーバーのプラグインディレクトリに配置する必要があります。このディレクトリは、plugin_dir システム変数の値から取得できます。

CREATE FUNCTION または DROP FUNCTION を使用するには、mysql データベースの INSERT 権限または DELETE 権限をそれぞれ持っている必要があります。これが必要となるのは、これらのステートメントが mysql.func テーブルに対して行の追加および削除を行うためです。

UDF には、メインの xxx() 関数に対応する xxx シンボルのほかに、少なくとも 1 つのシンボルが定義してください。これらの補助シンボルは、xxx_init()xxx_deinit()xxx_reset()xxx_clear()、および xxx_add() 関数に対応します。mysqld では、xxx シンボルのみを持つ UDF をロードできるかどうかを制御する --allow-suspicious-udfs オプションもサポートされています。デフォルトでは、このオプションはオフになっており、正当な UDF が含まれている共有オブジェクトファイル以外から関数がロードされることを防いでいます。xxx シンボルのみが含まれていて、補助シンボルを含めるように再コンパイルできない古い UDF がある場合は、--allow-suspicious-udfs オプションを指定する必要がある場合があります。それ以外の場合は、この機能を有効にしないようにしてください。


User Comments
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
Sign Up Login You must be logged in to post a comment.