MySQL 5.5系のコンパイル

5.5系以降から? ビルドシステムに CMake が採用されています。
私のようなダメエンジニアは、configure;make;make install でいいじゃないか!
と思ってしまいますが。


$ tar xf mysql-5.5.24.tar.gz
$ cd mysql-5.5.24
$ cmake . -DCMAKE_INSTALL_PREFIX=$HOME/local/mysql/ \
-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_unicode_ci
$ make
$ make install

cmake で指定する引数で気になったのは以下

-DBUILD_CONFIG=mysql_release Configure the source with the same build options used by Oracle to produce binary distributions for official MySQL releases.
-DENABLE_DTRACE=1 Solarisな人は、しあわせになれる?


-DDEFAULT_CHARSET=utf8 だけ指定すると、以下でmysql_install_dbが死にます。


$ ./scripts/mysql_install_db
...
120513 12:49:50 [ERROR] COLLATION 'latin1_swedish_ci' is not valid for CHARACTER SET 'utf8'
120513 12:49:50 [ERROR] Aborting

120513 12:49:50 [Note] ./bin/mysqld: Shutdown complete

my.cnf や 引数で "collation-server = utf8_general_ci" で指定しても大丈夫ですが、せっかくなのでコンパイルオプションで指定しておきましょう。


ドキュメントは、以下を読んでおけばよいのかな。

http://dev.mysql.com/doc/refman/5.5/en/installing-source-distribution.html
http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html
http://dev.mysql.com/doc/refman/5.5/en/innodb-parameters.html