mysql-5.5.15をソースからインストール

テスト用の環境を作るために
MySQLをソースからインストールしました。

環境

CentOS 6.0
MySQL 5.5.15
paco 2.0.9(必須ではない)

インストール手順

# ソースをダウンロード
wget http://www.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.15.tar.gz/from/http://ftp.iij.ad.jp/pub/db/mysql/
tar zxvf mysql-5.5.15.tar.gz
cd mysql-5.5.15

# MySQL 5.5ではcmakeを使うようです。
yum install cmake
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

と、ここで下記エラー...

-- Could NOT find Curses  (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake:83 (MESSAGE):
  Curses library not found.  Please install appropriate package,

      remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.

Curses libraryがないということなので、インストールします。

yum install ncurses-devel

cmakeをやり直します。

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

-- Could NOT find Curses  (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake:83 (MESSAGE):
  Curses library not found.  Please install appropriate package,

      remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.

またまたエラー...
先ほどの失敗時のキャッシュのせいかも?ということで削除してみる。

rm CMakeCache.txt

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

# 成功!!

make

# pacoを使わない場合は make install のみ
paco -D make install

インストール完了です!

設定

ユーザ作成
groupadd mysql
useradd mysql -g mysql -s /sbin/nologin
DB初期化
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
chown -R mysql:mysql /usr/local/mysql
設定ファイル作成
cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
vim /etc/my.cnf

my.cnfにテーブル毎にファイルを分ける設定を追加
テーブル毎に分かれていた方が何かと便利!

[mysqld]
innodb_file_per_table
起動スクリプト設定
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
/etc/rc.d/init.d/mysqld start

これでMySQLのインストール作業は一通り完了です。
後はmysql上でユーザ、DB、テーブル等を作成していきます。