Q4Mをインストールするのに、ハマり倒したのでメモ書きです。僕はCentOS 5.3とosx 10.5にインストールしましたが手順はどちらも同じで以下の通りです。
- 既にMySQLがインストールされている場合は削除
- MySQLをソースコードからインストール
- Q4Mをインストール
1. 既にMySQLがインストールされている場合は削除
Q4Mを利用するには–with-fast-mutexesオプションが有効なMySQLがインストールされている必要がありますが、yumとかportとかでインストールしたMySQLは同オプションが有効になってないので、MySQLをソースからインストールします。そこで既にMySQLをパッケージ管理ツール等でインストールしている場合は削除します。(多分ポートの設定やサービスの登録等をすれば複数バージョンのMySQLも稼働できると思いますが、ややこしいので。)
- CentOSの場合
$ yum list installed | grep mysql $ sudo yum remove mysql
- osxの場合
port list installed | grep mysql sudo port deactivate mysql5 +server
2. MySQLをソースコードからインストール
僕はここでハマりました。大きなプログラムをソースコードからインストールした経験があまり無く、configureのオプションを付ける勘所が解らず、何回もビルドし直す羽目になりました。
試行錯誤はスキップして、手元で動作した手順は以下になります。centOSとosxで共通です。/usr/local/mysql以下にインストールしています。使用したMySQLのバージョンは5.1.39です。
$ tar zxvf mysql-5.1.39.tar.gz $ cd mysql-5.1.39 # まずビルドとインストール $ CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" \ ./configure \ --prefix=/usr/local/mysql \ --with-mysqld-user=mysql \ --enable-assembler \ --with-plugins=innobase \ --enable-shared \ --with-fast-mutexes $ make $ sudo make install # 次に初期設定 --basedirにconfigureのprefixと同じディレクトリを指定 $ cd /usr/local/mysql $ sudo bin/mysql_install_db --basedir=/usr/local/mysql # 起動・終了確認 $ sudo bin/mysqld_safe & $ sudo mysqladmin shutdown
ついでにMySQLのサービス登録と自動起動設定をしておくと後々便利です。(CentOSの場合)
$ pwd /usr/local/src/mysql-5.1.39 $ sudo cp support-files/mysql.server /etc/init.d/mysqld $ chmod a+x /etc/init.d/mysqld $ sudo /sbin/chkconfig -add mysqld $ /sbin/chkconfig --list mysqld mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
3. Q4Mをインストール
次にQ4Mをソースコードからインストールします。手順はMySQLの起動以外はcentOSとosxで共通です。
# ビルドとインストール --with-mysqlに先ほどビルドしたmysqlのソースコードがあるディレクトリを指定 $ wget http://q4m.31tools.com/dist/q4m-0.8.5.tar.gz $ tar zxvf q4m-0.8.5.tar.gz $ cd q4m-0.8.5 $ ./configure \ --prefix=/usr/local/mysql \ --with-mysql=/usr/local/src/mysql-5.1.39 $ make $ sudo make install # 初期設定 $ vim /etc/my.cnf # log-binと、binlog_formatの行をコメントアウト $ sudo service mysqld start # osxの場合はmysqld_safeで起動 $ mysql -u root mysql < support-files/install.sql $ make test
以上でQ4Mを使う準備が整いました。mysqlにログインしてshow pluginsでインストール確認ができます。
mysql> show plugins; +------------+--------+----------------+--------------------+---------+ | Name | Status | Type | Library | License | +------------+--------+----------------+--------------------+---------+ | binlog | ACTIVE | STORAGE ENGINE | NULL | GPL | | CSV | ACTIVE | STORAGE ENGINE | NULL | GPL | | MEMORY | ACTIVE | STORAGE ENGINE | NULL | GPL | | InnoDB | ACTIVE | STORAGE ENGINE | NULL | GPL | | MyISAM | ACTIVE | STORAGE ENGINE | NULL | GPL | | MRG_MYISAM | ACTIVE | STORAGE ENGINE | NULL | GPL | | QUEUE | ACTIVE | STORAGE ENGINE | libqueue_engine.so | GPL | +------------+--------+----------------+--------------------+---------+ 7 rows in set (0.01 sec)
後はexampleディレクトリにあるcrawlerを見ると使い方が良く解りました。
2010.9.13 インストール確認方法を追記
関連する記事
タグ: q4m

