2010年1月24日日曜日

MySQL 5.1 で innodb も有効にしてビルド、インストール








Mac OS X のバイナリも配布されているが、これまでローカルマシンのLAMP環境はソースコードからビルドしていたので、今回もそうしてみる。
バージョン4 以降 innodb を有効にしてインストールするのに失敗していたが、MySQLでのトランザクションの検証には必須なので、再度 innodb 導入にチャレンジ。

・mysqlユーザー
以前からLAMP環境があったので既にmysqlユーザーは作成済み。

・MySQLホームページからダウンロード

ソースコードは"Generic Linux (Architecture Independent), Compressed TAR Archive"とある。Linuxでは無いけど、アーキテクチャーに依存しないっていうことか。

・展開してビルド

./configure --prefix=/usr/local-x86_64/mysql-5.1.42 --with-charset=utf8 --with-extra-charsets=complex --with-plugins=max --with-mysqld-user=mysql

v5.1以降、"--with-plugins=max" とすると innodbが利用出来る。
以前のバージョンでは "--with-innodb"や"--with-plugin-innobase" としていた。

・make install

・設定ファイルのコピーと編集

開発用サーバーなので support-files/my-small.cnf を"インストールディレクトリ/lib"以下にコピー
$ sudo cp /usr/local-x86_64/src/mysql-5.1.42/support-files/my-small.cnf /usr/local-x86_64/mysql-5.1.42/lib/
$ sudo mv /usr/local-x86_64/mysql-5.1.42/lib/my-small.cnf /usr/local-x86_64/mysql-5.1.42/lib/my.cnf

DBのディレクトリも指定しておく
$ sudo vi /usr/local-x86_64/mysql-5.1.42/lib/my.cnf

[mysqld]
...
thread_stack = 128K
datadir = /usr/local-x86_64/mysql-5.1.42/var
...

・初期化
ここでもDBのディレクトリを指定しておく
# bin/mysql_install_db --datadir=/usr/local-x86_64/mysql/var --user=mysql

・起動と停止
必ずmysqlユーザーで行わないといけない。
sudo -u mysql /usr/local-x86_64/mysql/bin/mysqld_safe >/dev/null 2>&1 &
sudo -u mysql /usr/local-x86_64/mysql/bin/mysqladmin -uroot shutdown

innnodbのテーブルが作成可能になった!

0 件のコメント:

コメントを投稿