CentOS 4.8にmysql 5.5をソースからインストール

2011/03/24 21:32 に 森山誠二郎 が投稿   [ 2011/08/25 1:16 に更新しました ]
/home/anagix/anagix_tols/mysqlにインストールする
注意: 32bitマシーンで確認した。64bitマシーンではmakeできサーバも動いたが、mysqlがseg faultした。対策わからずgive up。

1.libaioが必要ということが後でわかったのでhttp://www.t2-project.org/packages/libaio.htmlからlibaio-0.3.106-avr32.tar.bz2を~/anagix_tools/srcにdownloadし、tar xjf
Makefileの中で、
#prefix=/usr                                                                   
prefix=/home/anagix/anagix_tools
と変更し、make&make install

(2011.8.25追記:rootになれるなら、yum install libaio で十分)

2.適当な場所で tar xzf mysql-5.5.10.tar.gz
3. cmake . -DDEFAULT_COLLATION=utf8_general_ci -DDEFAULT_CHARSET=utf8 -DCMAKE_INSTALL_PREFIX=/home/anagix/anagix_tools/mysql -DMYSQL_DATADIR=/home/anagix/anagix_tools/mysql/data/
make & make install

参考にしたページ:
mysql/インストール
MySQLマニュアルのInstalling MySQL from Source

参考にならなかったページ:
Download, configure, compile, and install MySQL 5.5.8 from source

libaioをリンクしている部分(wget http://www.morphisms.net/~wkj/download/libaio.tbz
 tar xjf libaio.tbzとDHAVE_LIBAIO_H=)は完全なウソだと思う

4./home/anagix/anagix_tools/mysqlでデータベースを作成
  ./scripts/mysql_install_db --no-defaults --defaults-file=~/.my.cnf --datadir=./data --user=anagix
5. 起動
mysqld_safe --defaults-file=/home/anagix/.my.cnf --port=3606 --datadir=./data --pid-file=/tmp/pid.pid
6. rubyから使えるように
gem install mysql -- --with-mysql-config=/home/anagix/anagix_tools/mysql/bin/mysql_config
これをきちんとやらないと、object is not missing constantという意味不明なエラーでハマる
(と思ったが、これが原因ではなかッた)
結局、ruby/mysqlを入れてとりあえず解決
gem install ruby-mysql -- --with-mysql-lib=/home/anagix/an\
agix_tools/mysql/lib
gem install ruby-mysql -- --with-mysql-lib=/home/anagix/anagix_tools/mysql/lib
Successfully installed ruby-mysql-2.9.4

Ruby/MySQLの開発者はこう言っている:http://d.hatena.ne.jp/tmtms/20100111/1263213332

前の Ruby/MySQL は 0.2.6 だったのですが、今回 2.9 とした理由は:

すでにMySQL/Ruby終了のお知らせ が出ているので、私が悪いのだろうが、mysqlの新しいリリースでgem install mysqlしようとしてobject is not missing constantでハマっている人の多いこと。自分は、昨日の4時ころからだから実質7時間ロスった。mysql2 brianmario/mysql2 - GitHub に乗り換えたほうが良いのかも知れない。参考: mysql - Ruby, Rails: mysql2 gem, does somebody use this gem? Is it ...

教訓
1.以前インストールがうまくいっていても、バージョンがかわると話は違う
2.出ている現象だけでgoogleしない(同じくハマった情報だけでぐるぐるしかねない)
3.情報源をよく読む



Comments