先週末にリリースされた MySQL 5.1.38 において、InnoDB のプラグイン化がされたそうなので、試してみました。且つ覚書的な。
試してみた環境
- OS バージョン
- CentOS release 5.3 (Final)
- MySQL バージョン
- MySQL 5.0.45
Cent OS 5.3 ですが、MySQL :: MySQL 5.1 GA から Red Hat Enterprise Linux 5 RPM (x86) 版をダウンロード。
とりあえず、Server, Client, Shared libraries, Headers and libraries の4つ。
実行したら Server のみ怒られました……。
なので、Server のみ削除してインストールします。
削除できたらインストール。
インストールできたら mysqld を動作させて、過去バージョンとの差異というか整合性をあわせるために以下のコマンドを実行。
これで準備完了。
my.cnf に以下を記述。
ignore-builtin-innodb
plugin-load=innodb=ha_innodb_plugin.so
プラグインファイルを発見出来ず、起動することが出来ない場合があったら、プラグインのディレクトリを追記してあげます。
自分の環境ではプラグインの場所はこんな感じでした。
/usr/lib/mysql/plugin/ha_innodb_plugin.a
/usr/lib/mysql/plugin/ha_innodb_plugin.la
/usr/lib/mysql/plugin/ha_innodb_plugin.so
/usr/lib/mysql/plugin/ha_innodb_plugin.so.0
/usr/lib/mysql/plugin/ha_innodb_plugin.so.0.0.0
なので、my.cnf に記述すると以下のようになります。
ignore-builtin-innodb
plugin-load=innodb=ha_innodb_plugin.so
plugin_dir=/usr/lib/mysql/plugin
設定が反映させているか確認。
+————+———-+—————-+———————+———+
| Name | Status | Type | Library | License |
+————+———-+—————-+———————+———+
| binlog | ACTIVE | STORAGE ENGINE | NULL | GPL |
| partition | ACTIVE | STORAGE ENGINE | NULL | GPL |
| ARCHIVE | ACTIVE | STORAGE ENGINE | NULL | GPL |
| BLACKHOLE | ACTIVE | STORAGE ENGINE | NULL | GPL |
| CSV | ACTIVE | STORAGE ENGINE | NULL | GPL |
| FEDERATED | DISABLED | STORAGE ENGINE | NULL | GPL |
| MEMORY | ACTIVE | STORAGE ENGINE | NULL | GPL |
| MyISAM | ACTIVE | STORAGE ENGINE | NULL | GPL |
| MRG_MYISAM | ACTIVE | STORAGE ENGINE | NULL | GPL |
| InnoDB | ACTIVE | STORAGE ENGINE | ha_innodb_plugin.so | GPL |
+————+———-+—————-+———————+———+
Library が NULL ではなく、Plugin ファイル名が表示されていれば OK です。
InnoDB Plugin にしてどうなるか?ということは特にないです。
寧ろ現状ベータ版につき、不具合が発生するかもしれません。
5.1.38にアップデートしたら InnoDB は使えなくなるかというと No で、ちゃんと今まで通りビルトイン環境も残っているので、従来通りの使い方が出来ます。
じゃあ、InnoDB Plugin て不要じゃないかと思うかもしれませんが、今ではなく今後に期待すべきプラグインになります。
ビルトインじゃない分、プラグイン形式の方が開発に融通が利きます。また、新しいことを実装するためのテストなんかもプラグイン形式の方が作業を行いやすいです。
そういった融通の利きやすさに対して、今後に期待されています。
今度は Spider Plugin なんかも試してみたいですね。(SpiderForMySQL.com)
official.MySQL :: 世界でもっとも普及している、オープン ソース データベース
