MySQL5.5.xをソースからインストールする

Ubuntu 12.04 LTSにMySQL 5.5.xをソースからインストールすることになったので手順をまとめておきます。

UserとGroup作成

$ sudo groupadd mysql
$ sudo useradd -r -g mysql mysql

ソースのダウンロードと展開

http://dev.mysql.com/downloads/ からソースをダウンロードして、解凍の後、カレントディレクトリを移動

$ tar zxf mysql.5.5.x.tar.gz
$ cd mysql-5.5.x

ビルド

ビルドに必要な下記2パッケージをインストールする。

  1. libncurses-dev
  2. g++
$ sudo aptitude install libncurses5-dev
$ sudo aptitude install g++

./configureの代わりにcmake実行

$ cmake -DCMAKE_INTALL_PREFIX=/usr/local/mysql \
 -DDEFAULT_CHARSET=utf8 \
 -DDEFAULT_COLLATION=utf8_general_ci \
 -DWITH_INNOBASE_STORAGE_ENGINE=1

cmakeオプションについて詳細はhttp://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.htmを参照のこと。

ここでは上記コマンドで指定したオプションのみ解説します。

  • CMAKE_INSTALL_PREFIX=   : インストール先 ./configure でいうprefixオプション
  • DEFAULT_CHARSET=        : MySQLがデフォルトで使用するキャラクタセット
  • DEFUALT_COLLATION=      : MySQLがデフォルトで使用する照合順序
  • WITH_INNOBASE_ENGINE=1 : InnoDBストレージエンジンを使用する場合、このオプションを設定する必要がある

cmakeが終わったら、make & make install実行 ~~~ $ make $ sudo make install

データベース初期化

下記コマンドを実行してデータベースを初期化。

$ cd /usr/local/mysql
$ sudo /usr/local/mysql/scripts/mysql_install_db
$ sudo chown -R mysql:mysql /usr/local/mysql/data

MySQLサービス起動

サービス起動スクリプトが/usr/local/mysql/support-files/mysql.server という名前で用意されているので、これを/etc/init.dにコピー。

ここからちょっと横道にそれますが、サービスの起動設定を行うsysv-rc-confをインストール。

sudo aptitude install sysv-rc-conf

インストールが終わったら、下記コマンドを実行してmysqlのサービスがOS起動時に自動的に起動するようにしておきましょう。

sudo sysv-rc-conf --level 2345 mysql.server on

でようやく下記コマンドで起動

$ sudo /etc/init.d/mysql.server start

rootユーザのパスワード設定

下記コマンドを実行して、MySQLのrootユーザのパスワードを設定します。

$ mysqladmin password hogehoge -u root

※hogehogeの部分には設定したいパスワードを入力します。