【MySQL】5.5.9 インストール Linux cmake

MySQL のインストール方法(コンパイルでのインストール方法) 2011年02月13日 現在

2012年6月30日 5.5.24 にて インストール確認済み & 記述ミス修正済み

バージョンは 5.5.9 で解説します。

最近のインストール方法は、configure ではなく cmake へ変更されたようです。
うわさによると他のバージョンでも最新版は cmake へ変更されているようです。

まだ、cmake をインストールしていない場合は

# yum install cmake

fedora の場合は既にリポジトリに登録されています。

CentOS の場合は リポジトリに存在しないので、dag リポジトリ等を利用しましょう。

1.mysqlユーザの作成

mysql のグループを作成します。
# groupadd mysql
mysq ユーザを作成します。
# useradd -r -g mysql mysql

2.ソースの入手MySQLの公式サイトからダウンロードします。

http://www.mysql.com/downloads/mysql/
Source Code の Generic Linux (Architecture Independent), Compressed TAR Archive
をダウンロードしてください。

3.ダウンロードと解凍

root で作業します。

# cd /usr/local/src/
# wget http://www.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.9.tar.gz/from/http://ftp.jaist.ac.jp/pub/mysql/
# tar zxvf mysql-5.5.9.tar.gz
# cd mysql-5.5.9

4.cmake (コンパイル前のチェック)

今回から conhfigure から cmake へ変更されたためオプションも変更になりました。

詳しいオプションについては下記参照
http://dev.mysql.com/doc/mysql-sourcebuild-excerpt/5.5/en/source-configuration-options.html

今回のオプションで必要のないはなくても問題ありませんが、prefix の指定はしておくのはお勧めになります。
-DCMAKE_INSTALL_PREFIX インストール先の指定
-DDEFAULT_CHARSET デフォルトのキャラクタセットを指定
-DDEFAULT_COLLATION The default server collation

同じサーバに2サービスインストールする場合、
-DMYSQL_UNIX_ADDR=/tmp/mysql55.sock ソケット名を指定してください。
-DMYSQL_TCP_PORT=5506 ポートを各自決めて指定してください。

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

オプション指定なしの場合は

# cmake

prefixのみの場合は

# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

5.make と make install (コンパイルとインストール)

# make
# make install

下記エラーの場合
■ make: command not found
yum を使用して make をインストールしてください。

#  yum install make

■ Could NOT find Curses  (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH)
yum を使用して ncurses-devel をインストールしてください。

# yum install ncurses-devel

※ cmake にてエラーが発生した場合は、下記ファイルを一度削除してくださ。しないと
再び cmake  を実行時にエラーが発生します。

# rm CMakeCache.txt

6.データベースの初期化

最近は mysql_install_db 実行時に ベースディレクトリを指定しないとエラーになるようです。少しはまりました。

FATAL ERROR: Could not find ./bin/my_print_defaults

# /usr/local/mysql/scripts/mysql_install_db –basedir=/usr/local/mysql

7.my.cnf のコピー(後で環境にあわせて設定してください)

# cp -p /usr/local/src/mysql-5.5.9/support-files/my-medium.cnf /usr/local/mysql/data/my.cnf

8.権限の変更

# chown -R mysql:mysql /usr/local/mysql

9.MySQLの起動

# /usr/local/mysql/support-files/mysql.server start

10.起動できない場合

can’t open and lock privilege tables: table ‘mysql.host’ doesn’t exist
にてエラーが発生して起動できない場合、よくある原因は

1.My.cnf の設定に設定ミスがある。設定を見直しましょう。

2.ib_logfile に異常があり修復不可能な場合、ib_logfile* を削除または移動して起動する。

3.yum 等にて依存関係にて システム用の MySQL がインストールされている場合、/etc/my.cnf が書き換えられてしまっている。
var フォルダや data フォルダに my.cnf を設定している場合、優先順位は /etc/my.cnf になります。 場合によっては 一時的に mv しましょう。

以上になります。

スポンサーリンク

フォローする