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.2.4.3 プラグインライブラリのコンパイルおよびインストール

プラグインを記述したら、プラグインをコンパイルしてインストールする必要があります。共有オブジェクトをコンパイルする手順はシステムによって異なります。CMake を使用してライブラリをビルドする場合は、それがシステムの正しいコンパイルコマンドを生成できる必要があります。ライブラリに somepluglib という名前を指定した場合、共有オブジェクトファイルの名前は somepluglib.so のようになります。(使用しているシステムではファイル名のサフィクスが異なる場合もあります。)

CMake を使用する場合は、構成ファイルをセットアップして、プラグインがコンパイルおよびインストールされるようにする必要があります。MySQL ソース配布の plugin ディレクトリの下にあるプラグインの例をガイドとして使用してください。

次のような CMakeLists.txt を作成します。

MYSQL_ADD_PLUGIN(somepluglib somepluglib.c
  MODULE_ONLY MODULE_OUTPUT_NAME "somepluglib")

CMakeMakefile を生成するとき、コンパイルコマンドに -DMYSQL_DYNAMIC_PLUGIN フラグを渡し、リンカーに -lmysqlservices フラグを渡します。これは、プラグインサービスインタフェースを介して提供されるサービスの関数でリンクするために必要となります。セクション24.2.5「プラグインのための MySQL サービス」を参照してください。

CMake を実行してから make を実行します。

shell> cmake .
shell> make

CMake の構成オプションを指定する必要がある場合、リストについてはセクション2.9.4「MySQL ソース構成オプション」を参照してください。たとえば、プラグインのインストール先となる MySQL のベースディレクトリを指定するために CMAKE_INSTALL_PREFIX を指定する場合があります。このオプションに使用する値は SHOW VARIABLES で確認できます。

mysql> SHOW VARIABLES LIKE 'basedir';
+---------------+------------------+
| Variable_name | Value            |
+---------------+------------------+
| base          | /usr/local/mysql |
+---------------+------------------+

ライブラリをインストールするプラグインディレクトリの場所は、plugin_dir システム変数によって指定されます。例:

mysql> SHOW VARIABLES LIKE 'plugin_dir';
+---------------+-----------------------------------+
| Variable_name | Value                             |
+---------------+-----------------------------------+
| plugin_dir    | /usr/local/mysql/lib/mysql/plugin |
+---------------+-----------------------------------+

プラグインライブラリをインストールするには、make を使用します。

shell> make install

make install によってプラグインライブラリが適切なディレクトリにインストールされたことを確認します。インストール後、サーバーが実行するためのアクセス権がライブラリに設定されていることを確認してください。


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.