MySQL 5.5 ソースからビルド
CentOS 6.2 に MySQL 5.5 をソースからインストールします
おおまかな手順はドキュメントの通りです
http://dev.mysql.com/doc/refman/5.5/en/installing-source-distribution.html
コンパイルに必要なツールをインストールします
wget gcc gcc-c++ make cmake ncurses をインストールします
yum -y install wget yum -y install gcc* yum -y install make yum -y install cmake yum -y install ncurses-devel
作業ディレクトリは /usr/local/src です
cd /usr/local/src/
ユーザを作成します
groupadd mysql useradd -r -g mysql mysql
ソースをダウンロードします
IIJからのダウンロードです
wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.19.tar.gz/from/http://ftp.jaist.ac.jp/pub/mysql/
展開します
tar zxvf mysql-5.5.19.tar.gz
ソースディレクトリへ入ります
cd mysql-5.5.19
ここからが今までのMySQLと違います
今までは configure を使ってインストールの設定を指定ましたが、
バージョン5.5からはcmake を使ってインストールの設定をします
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.5.19 \ -DMYSQL_DATADIR=/var/mysql/data \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_EMBEDDED_SERVER=1 \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_EXTRA_CHARSETS=all \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DENABLE_DTRACE=1 \ -DENABLE_GCOV=1 \ -DWITH_DEBUG=0 \ -DENABLE_DEBUG_SYNC=0
※2012-01-13
--DDISABLE_SHARED \ --DENABLE_DTRACE=0 \ --DENABLE_GCOV=0 \ +-DENABLE_DTRACE=1 \ +-DENABLE_GCOV=1 \
オプションの解説です
http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html
こちらにありますが一応
- -DCMAKE_INSTALL_PREFIX -> インストールする場所 configure の --prefix
- -DMYSQL_DATADIR -> データの場所
- -DENABLED_LOCAL_INFILE -> LOAD DATA INFILE を有効にするか configure の --enable-local-infile
- -DWITH_EMBEDDED_SERVER -> 組込サーバライブラリを生成するか configure の --with-embedded-server
- -DDEFAULT_CHARSET -DDEFAULT_COLLATION -> この辺は文字セット系。 MS932(windows-31j)ならcp932で
- -DWITH_EXTRA_CHARSETS -> 追加の文字セット all で全て入れます
- -DWITH_INNOBASE_STORAGE_ENGINE -> InnoDBを有効にします デフォルトではMyISAM, MERGE, MEMORY, CSV のみ有効です
-DDISABLE_SHARED -> 動的ライブラリを無効にするか configure の --disable-shared --with-mysqld-ldflags=-static - -with-client-ldflags=-static に相当すると思われます^^; http://bugs.mysql.com/bug.php?id=59858 ドキュメントにはないですがここにありました。
2011-01-13 バグレポートの通り、効かない事を確認
ldd /usr/local/mysql-5.5.19/bin/mysqld
-DENABLE_DTRACE -> DTrace を有効にするか パフォーマンス重視なら外したほうがいいかなと
機能を使わなければパフォーマンスに影響なしなのでON
-DENABLE_GCOV -> gcovを有効にするか 同上
機能を使わなければパフォーマンスに影響なしなのでON
コンパイルします
make make install
あとは所有者変更したり、初期データベース作成したり
cd /usr/local/mysql-5.5.19 chown -R mysql . chgrp -R mysql . scripts/mysql_install_db --user=mysql --datadir=/var/mysql/data chown -R root . chown -R mysql /var/mysql/data
my.cnf コピーしたり
cp support-files/my-medium.cnf /etc/my.cnf
サービス起動スクリプトいじったり
cp support-files/mysql.server /etc/init.d/mysqld
shell> vi /etc/init.d/mysqld
-basedir= -datadir= +basedir=/usr/local/mysql-5.5.19 +datadir=/var/mysql/data
こんな感じです
特にハマるところはなさそうです