CentOS 5.5(x86_64)でQ4Mを使う

Posted by hiroki.kana on September 23, 2010
このエントリーをはてなブックマークに追加

Q4Mとは

Q4Mは、MySQLのプラグインとして動作するメッセージキューです。
開発は奥 一穂さんが行っており、GPLライセンスのもと配布されています。
DeNAやmixiでも利用されています。

Q4Mを利用するためにはMySQL5.1以上が必要になります。
今回はCentOS 5.5のMySQL5.1上でQ4Mをインストールします。

MySQL 5.1をインストール

MySQL 5.1をRPMでインストールしたいので、まずは既にインストールされているMySQL 5.0をアンインストールします。

$ sudo yum remove mysql-server mysql

依存してるMySQLの各種言語ライブラリもアンインストールされます。
これから使用するときは別途インストールしなきゃいけないと思うとちょっとめんどうな気持ちになってきましたが…。

http://dev.mysql.com/downloads/mysql/ から各RPMをダウンロードします。

  • MySQL-client-5.1.50-1.glibc23.x86_64.rpm
  • MySQL-devel-5.1.50-1.glibc23.x86_64.rpm
  • MySQL-server-5.1.50-1.glibc23.x86_64.rpm
  • MySQL-shared-5.1.50-1.glibc23.x86_64.rpm
  • MySQL-community-5.1.50-1.rhel5.src.rpm

src.rpmも使用するのでダウンロードしておきます。

まず、各MySQLのRPMをインストールします。

$ sudo rpm -ivh MySQL-*.x86_64.rpm

次にsrc.rpmをリビルドします。

$ sudo rpmbuild –recompile –define ‘community 1′ MySQL-community-5.1.50-1.rhel5.src.rpm

これが意外と時間かかりました。
コーヒーでも飲んで待ってましょう。
ちなみに途中でテストでエラー吐いて止まったんですが、そのまま続けてもOKでした。
もしや、ソースだけあればOKなのか…?

Q4Mをビルドしてインストール

http://q4m.31tools.com/dist/ からQ4M(http://q4m.31tools.com/dist/q4m-0.9.4.tar.gz)をダウンロードします。
各バージョンのMySQL用のバイナリもありますが、今回はソースからビルドします。

下記のようにconfigure、make、make installします。

$ ./configure --with-mysql=/usr/src/redhat/BUILD/mysql-5.1.50/ CXXFLAGS="-I/usr/include/mysql" \
 --libdir=/usr/lib64/mysql/plugin/
$ make
$ sudo make install

最後にPluginをインストールするためのSQLを発行して終了です。

$ mysql -u root -p -f mysql < support-files/install.sql 

実際にMySQLにログインしてPluginが有効になっているか確認します。

mysql> show plugins;
+
このエントリーをはてなブックマークに追加