ソースからのインストール(MySQL 5.5 以上)
ソース配布からインストールするためには、MySQLのソースコードが必要です。
- MySQLのソース配布をダウンロードし解凍します。
- http://q4m.kazuhooku.com/dist/からQ4Mのソース配布をダウンロードします。
- Q4M ソース配布を MySQL ソースツリーの
storage/
ディレクトリの下に解凍し、作成したディレクトリをq4m
に名前を変えます (例えば、mv storage/q4m-0.x.y storage/q4m
)。 - MySQLをビルド (例えば、CMakeを適切な引数で実行し、MySQLのソースツリーのルートディレクトリで
make
します) し、Q4Mプラグイン (storage/q4m/libqueue_engine.so
) がMySQLのビルドプロセスの一部としてビルドされるようにします。 - プラグインをMySQLインストレーションの
plugins/
ディレクトリにコピーします。 - プラグインを有効にするために
storage/q4m/support-files/install.sql
を実行します。 - (任意) テストスイートを実行します。
ソースからのインストール (MySQL 5.1)
ソース配布からインストールするためには、MySQLのソースコードが必要です。
- MySQL5.1をダウンロードおよびビルドします(インストレーションは必須ではありませんが、Q4MをMySQLバイナリ配布物の中にインストールするつもりであれば、MySQLソース配布物をビルドするのと同じ構成オプションを使うようにしてください。MySQLの構成は bin/mysqlbug script の中で見つけることができます)。
- http://q4m.kazuhooku.com/dist/からQ4Mのソース配布をダウンロードします。
- Q4M配布物を解凍します。
- configureを実行します。
- make を実行します。
- make install を実行します。
- support-files/install.sql を実行します。
- (任意) テストスイートを実行します。
- --with-mysql=mysql-source-dir
- MySQLソースコードのディレクトリを設定します(必須)
- --prefix=mysql-dir
- MySQL 5.1 がインストールされるディレクトリを設定します(任意)
- --with-debug
- MySQLが --with-debug オプションを使ってビルドされる場合、Q4Mもこのオプションを使ってビルドされなければなりません。そうしなければMySQLサーバはクラッシュするでしょう。(任意)
- --with-sync=yes|no|fdatasync|fsync|fcntl
- ディスク同期メソッドを選択します(デフォルト:yes)。Mac OS XではFcntlだけが利用可能です; そして遅いです。パフォーマンスの問題がある場合は、この値を変更すると良いでしょう。
- --enable-mmap
- データの読み込みにmemory-mapped ファイルを使用する(デフォルト:yes)。
- --with-delete=pwrite|msync
- 行削除のメソッド。pwriteを使用するかあるいはmmapedファイルを直接書き込むかどうか(デフォルト:pwrite)。
インストレーションのテスト
インストレーションをテストするには、run_tests.pl を実行する。DBI 環境変数を使ってデータベースの場所を設定することができます。DBI_USER および DBI_PASSWORD 変数も利用可能です。以下のような出力が表示されるべきです。
$ DBI='dbi:mysql:database=test;host=kazdev;port=3307' ./run_tests.pl t/01-base................ok t/02-queue...............ok t/03-queue-error-wait....ok t/03-queue-error.........ok t/04-blob................ok t/05-multireader......... Multireader benchmark result: Number of messages: 6400 Number of readers: 32 Elapsed: 3.366 seconds Throughput: 1901.245 mess./sec. t/05-multireader.........ok All tests successful. Files=6, Tests=5370, 140 wallclock secs (115.80 cusr + 5.92 csys = 121.72 CPU) $
Q4Mのソースリポジトリ
Q4Mのソースリポジトリは http://github.com/q4m/q4m/ にあります。