WebOS Goodies

WebOS の未来を模索する、ゲームプログラマあがりの Web 開発者のブログ。

WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。
Subscribe       

MySQL を Mac でビルドする手順

先日、必要にかられて Mac に MySQL をインストールしました。もちろん Homebrew などを使えば簡単なのですが、私は仕事に合わせて開発環境を作る関係上、システム自体へのインストールはしたくない。そこで、今回も手動で特定のディレクトリ ($HOME/mysql) にインストールしました。本日は備忘録としてその手順を記事にしておきます。

MySQL を手動インストールすると、 root 権限なしでも使えて、複数バージョンの使い分けなども簡単にできます。私は Mac でやりましたが、 Linux 等も同じ手順でいけるはず。覚えておけば、けっこう役に立つと思いますよ。

※ 以下の説明では各ソフトウェアのバージョン番号やインストール先ディレクトリとして私の環境のものをそのまま書いています。実際にインストールするときは、それぞれのケースに合わせて読み替えてください。

CMake のインストール

MySQL のビルドには CMake が必須となったようです。今回はこちらも手動ビルドしてみました。基本的には、ソースコードをダウンロード・展開して ./configure 実行、 make && make install といういつもの手順で OK です。

まずはソースコードのダウンロードから。以下の公式サイトで配布されています。

http://www.cmake.org/

ちょっとわかりづらいですが、右上の「RESOURCES」のメニューから「Download」を選べばダウンロードページに行けます。

そして、「Unix/Linux Source (has \n line feeds)」の隣にある「cmake-2.8.9.tar.gz」をダウンロードしてください。ここでは、 ~/Downloads にダウンロードしたと仮定します。

あとは、以下のコマンドを実行すればビルドしてインストールまでできます。 ./configure の --prefix オプションでインストール先を指定しているので、適当に差し替えてください。その他を変える必要はあまりないはずです。

cd ~/Downloads
tar zxvf cmake-2.8.9.tar.gz
cd cmake-2.8.9
./configure --prefix=$HOME/mysql
make && make install

ビルドしたバイナリは $HOME/mysql/bin にインストールされるので、実行パスを通しておいてください。その上で「cmake --version」を実行し、バージョン番号が表示されればインストール成功です。

MySQL のインストール

さて、次は本来の目的である MySQL のインストールです。概ね公式ドキュメントで説明されているものと同じ手順ですが、ユーザー権限で標準でない場所にインストールするので、多少のオプションの追加等が必要になります。

ソースコードのダウンロド

MySQL のソースコードは以下のサイトからダウンロードできます。

http://dev.mysql.com/downloads/

まずトップページ左のメニューから「MySQL Community Server」を選びます。

Platform のドロップダウンで「Source Code」を選択し、その一番下にある「Generic Linux (Architecture Independent), Compressed TAR Archive」の Download ボタンをクリックします。

ユーザー登録を促されるのですが、下にある「No thanks, just start my download!」のリンクを使えばスキップしてすぐにダウンロードできます。

これでダウンロードが始まります。以下では ~/Downloads にダウンロードしたと仮定します。

ビルドとインストール

ダウンロードしたソースコードをビルド・インストールします。基本的には、ソースコードのアーカイブを展開し、適切なオプションを指定して cmake を実行した後、 make && make install するという手順になります。

例として、私が実行したコマンドを書いておきます。インストール先は cmake の複数のオプションで指定しているので注意してください。

cd ~/Downloads
tar zxvf mysql-5.5.28.tar.gz
cd mysql-5.5.28
cmake . -DCMAKE_INSTALL_PREFIX=$HOME/mysql \
    -DDEFAULT_CHARSET=utf8 \
    -DMYSQL_DATADIR=$HOME/mysql/data \
    -DMYSQL_UNIX_ADDR=$HOME/mysql/tmp/mysql.sock \
    -DSYSCONFDIR=$HOME/mysql/etc \
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    -DDEFAULT_COLLATION=utf8_general_ci
make && make install

cmake のオプションについては以下のページに説明があります。たいていは上記のもので大丈夫なはずですが、必要に応じて追加・変更するとよいでしょう。

http://dev.mysql.com/doc/refman/5.5/en/source-conf...

インストール後の設定

インストール後にもいくつか作業が必要です。以下では CMake をインストールした時に $HOME/mysql/bin にパスを通したと仮定していますが、もしまだであれば通しておいてください。

まずは、 cmake のオプションで指定した設定ファイルとソケットファイルのディレクトリを(もしなければ)作成しておきます。

mkdir $HOME/mysql/etc
mkdir $HOME/mysql/tmp

設定ファイル (my.cnf) を作成します。インストール先の support-files フォルダにサンプルの設定ファイルがいくつかあるので、用途にあったものをコピーします。私の場合は単に開発用なので、小規模向けの my-small.cnf を使いました。

cd $HOME/mysql
cp support-files/my-small.cnf etc/my.cnf

そして、もし InnoDB を使うなら(たいてい使うでしょう)、 my.cnf 内の InnoDB 関連の設定を有効にしておきます。「# Uncomment the following if you are using InnoDB tables」のコメントの下にあるものです。

次はデータベースディレクトリを初期化します。 mysql_install_db コマンドを実行するだけです。ユーザー権限でインストールする場合は、 --user=root オプションは付けてはいけません。

cd $HOME/mysql
./scripts/mysql_install_db

ここまでの設定で MySQL 自体は動作するのですが、もし各種言語のクライアントライブラリなどを使うなら、ダイナミックライブラリのパスを追加しておかないといけないはずです。 .bash_profile なんかに以下のように書いておけばよいかと思います。

export DYLD_LIBRARY_PATH=$HOME/mysql/lib

これでインストール完了です。

MySQL サーバーの起動と終了

上記の手順でインストールした MySQL は、以下のコマンドで起動できます。 sudo は不要というか、むしろ付けるとまずいので注意してください。

mysql_safe &

起動後は mysql コマンドなどで普通に操作できます。サーバーの停止コマンドはこれ。

mysqladmin -u root shutdown

root ユーザーのパスワード設定等もやっておくべきですが、このあたりは MySQL の一般的な手順なので割愛。検索すれば説明がたくさん見つかるはずです。

以上で MySQL がインストールできました。わかってしまえば難しいものではないですし、関連ファイルが一箇所にまとまって管理もしやすいので、意外と重宝するかと思います。

関連記事

この記事にコメントする

Recommendations
Books
「Closure Library」の入門書です。
詳しくはこちらの記事をどうぞ!
Categories
Recent Articles