IBMDB2iストレージエンジンその2
IBMDB2iストレージエンジンのPluginは「/usr/local/mysql/lib/plugin/ha_ibmdb2i.so」です。
RedBookの「3.4.5 Installing the IBMDB2I Storage Engine plug-in component for MySQL」を参考に、ストレージエンジンのセッティングをシェルからします。
- パス追加
export PATH=/usr/local/mysql/bin:$PATH
- MySQL動作確認
mysqladmin -u root status Uptime: 60615 Threads: 6 Questions: 8515 Slow queries: 0 Opens: 555 Flus h tables: 1 Open tables: 53 Queries per second avg: 0.140 $ mysqladmin -u root ping mysqld is alive $
- プラグインインストール
mysql -u root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 94 Server version: 5.1.35 MySQL Community Server (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the current input statement . install plugin ibmdb2i soname "ha_ibmdb2i.so" ; Query OK, 0 rows affected (0.82 sec)
- phpMyAdminで確認
- データベース作成
- テーブル作成
おぅ!イキナリエラー!調べてみるも、特にめぼしい情報は、ないので(日本でこんな事に躓いているのは自分だけ?)とりあえず、シェルから手動で色々試してみました。色々試した結果、「ライブラリー名、ファイル名は大文字じゃないと駄目」が原因でした。気を取り直して、大文字で全て指定してやり直すと成功でした。名称10文字以内の制約については、RedBookに書いてありそうなのですが、英語がイマイチわかりません。
他に、試してみた結果については、以下通りになりました。
IBMDB2iの実態としては、i5が裏でMySQLからのSQLを、「QSQSRVR」ジョブで処理していそうです。SQL指定のライブラリーが無ければライブラリー作成と、物理ファイルの作成をしている模様です。(対話式シェルでSQLを投げると様子がよく解ります。)
MySQL側には、「xxx.frm」と「xxx.FID」が作成されていました。この”FID”の中身は、i5側のファイル識別IDが入っていた。これで実ファイルとの連携を持たせていそうです。
RedBookには、「もし省略のストレージエンジンにするなら、”/etc/my.cnf”ファイルに”default_storage_engine=ibmdb2i”を追加しなさい」的な事が、書いてありますが、今回は特にどちらでもいいので無視します。今日は疲れたのでここまでにしときます。