■概要
既にMySQLがインストールされているサーバに、別プロジェクトで使用するMySQLを
インストールしたので、方法をまとめておきます。
今回はソースからインストールオプションを指定してインストールしました。
■基本情報
・OS
CentOS 5.5
・既存MySQLインストール情報
バージョン: MySQL-5.1
ベースディレクトリ: /usr/local/mysql/
データディレクトリ: /var/lib/mysql/
ポート
: 3308
ソケット
: /usr/local/mysql/tmp/mysql.sock
設定
: /var/lib/mysql/my.cnf
・新規MySQLインストール情報
バージョン: MySQL-5.5.22
ベースディレクトリ: /usr/mysql5/
データディレクトリ: /data/mysql5/
ポート
: 3308
ソケット
: /usr/mysql5/tmp/mysql.sock
設定
: /data/mysql5/my.cnf
■インストール手順
# cd /usr/local/src/
・インストールするソースをダウンロードする
# wget -P /usr/local/src 'http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.22.tar.gz/from/http://ftp.jaist.ac.jp/pub/mysql/'
# tar xzvf ./mysql-5.5.22.tar.gz
※取得するバージョンは指定可能
・新規MySQL用のユーザ/グループを作成する
# groupadd mysql5
# useradd -g mysql5 mysql5
・新規MySQLインストール用ディレクトリを作成する
# mkdir /usr/mysql5/
# chown -R mysql5:mysql5 /usr/mysql5/
# ls -l /usr/mysql5/
・新規MySQLソケット作成用ディレクトリを作成する
# mkdir /usr/mysql5/tmp/
# chown -R mysql5:mysql5 /usr/mysql5/tmp/
# ls -l /usr/mysql5/tmp/
・DBデータ保存用ディレクトリを作成する
# mkdir -p /data/mysql5/
# chown -R mysql5:mysql5 /data/mysql5
# ls -l
・新規MySQLのソースをビルドする
※MySQL5.5以降のビルドはcmakeが必要となります。
cmakeがインストールされていない場合、以下サイト等を参考にインストールします。
http://www.atmarkit.co.jp/flinux/rensai/buildlamp/lamp_45/45_1.html
# cd /usr/local/src/mysql-5.5.22
# cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/mysql5 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=true \
-DMYSQL_TCP_PORT=3308 \
-DMYSQL_UNIX_ADDR=/usr/mysql5/tmp/mysql.sock \
-DMYSQL_DATADIR=/data/mysql5/ \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_READLINE=ON
※cmakeのオプションはmysql.infoで確認しました。
# less /usr/local/src/mysql-5.5.22/Docs/mysql.info
「*MySQL Source-Configuration Option Reference (`CMake')*」の章を参照
※設定ファイル(my.cnf)の配置ディレクトリを指定したい場合は、「-DSYSCONFDIR=ディレクトリパス」オプションを付与します。
サーバ毎の設定ファイルのデフォルトは「DATADIR/my.cnf」となります。(グローバルの設定は/etc/my.cnfが使用されます)
設定ファイルの指定は、MySQLの起動オプションでも指定可能です。
・パスを通す
# vim /etc/profile
以下を記載
export PATH="$PATH:/usr/mysql5/bin"
# /usr/mysql5/scripts/mysql_install_db --user=mysql5 --basedir=/usr/mysql5 --datadir=/data/mysql5
・起動する
# /usr/mysql5/bin/mysqld_safe --user=mysql5 --defaults-file=/etc/my5.cnf &
・rootユーザのパスワードを変更する
# mysqladmin -u root password "xxxxxxxx"
# mysqladmin -u root -h localhost password "xxxxxxxx"
・ログインする
# /usr/mysql5/bin/mysql -uroot -p
・匿名ユーザを削除する
# DELETE FROM mysql.user WHERE Host='localhost' AND User='';
# FLUSH PRIVILEGES;
・停止する
# ./bin/mysqladmin -uroot -p shutdown
以上です。