最近 MacOSX (El Captain) 上で brew upgrade mysql
を行って MySQL を 5.7.11 にバージョンアップしました。
が、その後 MySQL 5.6 で Q4M プラグインを有効にしたサーバがほしくなりました。
調べたところ、mysql-build という @kamipo さんのツールでそれができるとわかりました。
下は YAPC Asia 2013 での LT スライドです。
以下は MySQL 5.6.29 をビルドし、DB の初期化スクリプトを実行して、Q4M プラグインをインストールするまでのコマンドです。
git clone git://github.com/kamipo/mysql-build.git ~/mysql-build
mkdir -p ~/opt/mysql
# インストール可能なバージョンを確認
~/mysql-build/bin/mysql-build --definitions
# ビルド実行
~/mysql-build/bin/mysql-build -v 5.6.29 ~/opt/mysql/mysql-5.6.29 q4m-0.9.14
cd ~/opt/mysql/mysql-5.6.29
# mysqld の初期化スクリプト実行
scripts/mysql_install_db --datadir=./data --basedir=./ --user=mysql
support-files/mysql.server start
# Q4M プラグインのインストール
cat support-files/install-q4m.sql | mysql -uroot
ビルドには、core i7, メモリ8G のマシンで30分ぐらいは掛かったかと思います。
ちなみに、その後ついでに同じく mysql-build を使って MySQL 5.7.10 で Q4M をインストールできるか試してみたのですが、ビルドに失敗してしまいました。
詳しく追ってはいませんが、少しだけログを貼っておきます。
%~/mysql-build/bin/mysql-build -v 5.7.10 ~/opt/mysql/mysql-5.7.10 q4m-0.9.14
:
Last 10 log lines:
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libmysqlpump_lib.a(i_data_formatter.cc.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libmysqlpump_lib.a(i_data_formatter_wrapper.cc.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libmysqlpump_lib.a(i_data_object.cc.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libmysqlpump_lib.a(i_object_reader.cc.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libmysqlpump_lib.a(i_object_reader_wrapper.cc.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libmysqlpump_lib.a(i_output_writer.cc.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libmysqlpump_lib.a(i_output_writer_wrapper.cc.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libmysqlpump_lib.a(i_progress_watcher.cc.o) has no symbols
[ 93%] Built target mysqlpump_lib
make: *** [all] Error 2
以上です。