慣れないことを初めてやったので、メモに残しとく。
環境
- CentOS 5.7
- MySQL 5.5.29
方法
今回はyumコマンドなどを使わずソースからインストールする。
1. MySQLのグループとユーザーの作成
rootになる。
$ su -
# groupadd mysql
# useradd -g mysql -d /usr/local/mysql mysql
※rootユーザーになるとき、-オプションを付けないとgroupadd
コマンドなどが使えないので注意。
オプションを付けないと、環境変数が元のユーザーの設定のままになってしまうようだ。
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/020suenv.html
2. MySQLのソースコードをダウンロード・展開
# cd /usr/local/src
# wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.29.tar.gz/from/http://ftp.iij.ad.jp/pub/db/mysql/
# tar zxvf mysql-5.5.29.tar.gz
# cd mysql-5.5.29
3. cmakeでソースコードをビルド
MySQL5.5系からconfigureでなく、cmakeでのコンパイルが推奨されたらしい。
cmakeが入っていなかったので、インストールするとこから。
# yum install -y cmake
MySQL依存パッケージも必要らしい。
# yum install -y ncurses-devel
これでcmake!
…うまくいくかと思ったら、エラーが出てコケた。
コンパイラが見つからないとかなんとか。
http://aji0.blog.fc2.com/blog-entry-12.html
追加でパッケージをインストール。
# yum install -y gcc-c++
# yum install -y bison // こっちは必要なのかよく分からない…
このまま再度cmakeしてもエラるようなので、一旦MySQLのディレクトリを消してやり直し。
# rm -rf /udr/local/src/mysql-5.5.29
# cd /usr/local/src
# tar zxvf mysql-5.5.29.tar.gz
# cd mysql-5.5.29
これでcmakeが通るようになった。
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DWITH_EXTRA_CHARSETS=all -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1
cmakeのオプションは色々ある。今回はテーブルのパーティショニングをしたかったので、そのあたりのオプションを加えた。
http://dev.mysql.com/doc/mysql-sourcebuild-excerpt/5.5/en/source-configuration-options.html
4. MySQLインストール
# make
# make install
5. MySQLの初期設定
mysqlのディレクトリの所有者変更。
# chown -R mysql:mysql /usr/local/mysql
データベースの初期化。
# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/
自動起動の設定。
# cp /usr/local/src/mysql-5.5.29/support-files/mysql.server /etc/init.d/mysql
# chmod +x /etc/init.d/mysql
# chkconfig --add mysql
起動スクリプトを編集し、実行環境を追記。
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
設定ファイルコピー。
# cp /usr/local/src/mysql-5.5.29/support-files/my-medium.cnf /etc/my.cnf
MySQL起動確認!
# service mysql start
OKが出る(`・ω・´)ゞ
6. PATHを通す
PATH="$PATH":/usr/local/mysql/bin
# source ~/.bashrc
# mysql -V
mysql Ver 14.14 Distrib 5.5.29, for Linux (x86_64) using EditLine wrapper
# mysql -u root
mysqlがちゃんとインストールできてたら、ログインできる。
参考
今回はこちらの記事をほぼ参考にさせていただきました
http://codenote.net/mysql/229.html
一応公式ドキュメントも。
http://dev.mysql.com/doc/refman/5.5/en/installing-source-distribution.html