━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2009.10.21
MySQLの真実
<MySQLインストール起動・停止編 その2>
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■Infomation
株式会社インサイトテクノロジーとサイトロック株式会社は、データベースの
技術分野で提携し、9/29より、データベース監視サービスを提供開始いたしま
した。このサービスは、マルチデータベースに対応しております。
(Oracle、MySQL対応済。その他DBも順次対応予定)
■前回までのおさらい
前回は、バイナリ版のMySQLをインストールする所まで行いました。
今回も引き続きバイナリ版MySQLをインストールしていきましょう。
▼検証環境
OS :Redhat Linux Advanced Server 4 Update 6
MySQL :mysql5.1.39
<MySQLインストール起動・停止編 その2>
■インストールディレクトリの作成
前回は、MySQLのモジュールを/iti配下に解凍し、/iti/mysqlにシンボリック
リンクを作成しました。
/iti配下は以下のようになっています。
# ls -ltr /iti
合計 12
drwxr-xr-x 13 503 users 4096 10月 2 13:18 mysql-5.0.86-linux-i686-icc-glibc23
lrwxrwxrwx 1 root root 40 10月 2 13:18 mysql -> /iti/mysql-5.1.39-linux-i686-icc-glibc23
もちろん、mysql-5.0.86-linux-i686-icc-glibc23というディレクトリ名を
mysqlに変更しても問題ありません。ですが、シンボリックリンクを張ること
により、新しいバージョンに変更する際にシンボリックリンクを張り替えるだ
けで済む為、バージョンアップなどの作業も簡単に行うことができます。
以下、バージョン変更作業になります。ここでは、MySQL5.1.39をMySQL5.0.86
に変更してみましょう。
▼バージョン変更作業(MySQL5.1.39をMySQL5.0.86に変更)
※MySQL5.0.86のバイナリを/iti/mysqlに展開後
# ls -ltr
合計 8
drwxr-xr-x 13 503 users 4096 9月 5 04:26 mysql-5.1.39-linux-i686-icc-glibc23
drwxr-xr-x 14 503 users 4096 9月 10 06:37 mysql-5.0.86-linux-i686-icc-glibc23
lrwxrwxrwx 1 root root 40 10月 2 13:06 mysql -> /iti/mysql-5.1.39-linux-i686-icc-glibc23
# rm mysql
rm: remove シンボリックリンク `mysql'? y
# ln -s /iti/mysql-5.0.86-linux-i686-icc-glibc23 /iti/mysql
# ls -ltr
合計 8
drwxr-xr-x 14 503 users 4096 9月 10 06:37 mysql-5.0.86-linux-i686-icc-glibc23
drwxr-xr-x 13 503 users 4096 10月 2 13:13 mysql-5.1.39-linux-i686-icc-glibc23
lrwxrwxrwx 1 root root 40 10月 2 13:13 mysql -> /iti/mysql-5.0.86-linux-i686-icc-glibc23
上記のように、新たにシンボリックを張り替えるだけで簡単にバージョンを変
更することができます。
バージョンアップ作業で長時間必要なOracleとは大きな違いです。
■データディレクトリの作成
次に、データベースのデータを保存する先であるデータディレクトリですが、
データディレクトリのデフォルトの配置先は、インストールディレクトリ配下
のdataディレクトリになっています。
ですが、これだと、バージョンアップ等を行った際にバージョン変更前のイン
ストールディレクトリ内にデータディレクトリが残ってしまい、バージョン変
更したにも関わらず、データディレクトリはバージョン変更前のディレクトリ
内にあるという状態になり、管理が煩雑になってしまいます。
この為、ここではデフォルトの配置場所を別の場所に変更しましょう。
今回は、/iti/dataフォルダを作成し、ここにデータが保存されるようにしま
す。まずは、/iti/dataフォルダを作成。
# mkdir /iti/data
次に、/iti/mysql/dataにシンボリックリンクを作成します。
作成する為にはデフォルトのデータディレクトリを削除する必要があります。
# rm -rf /iti/mysql/data
# ln -s /iti/data /iti/mysql/data
これで、データディレクトリに対してシンボリックリンクが作成されました。
この状態では初期データベースが削除された状態なので、mysql_install_dbを
実行して再作成します。
# /iti/mysql/scripts/mysql_install_db --user=mysql
# chown -R mysql:mysql /iti/mysql-5.0.45-linux-i686-glibc23
これで、データディレクトリの移動が完了しました。
■自動起動ファイルとmycnfの設定
最後に自動起動ファイルとmycnfの設定を行いましょう。
自動起動ファイルは、インストールディレクトリの下のsupport-filesの中に
あるmysql.serverというファイルを使用します。このファイルを/etc/init.d/
配下に配置します。
# cp -p /iti/mysql/support-files/mysql.server /etc/init.d/mysql
上記では、mysqlというファイル名に変更して保存しています。
最後にmycnfですが、これはOracleでいう初期化パラメータファイルになりま
す。このmycnfですが、インストールする環境に合わせたサンプルが、
support-files配下に格納されています。
# ls -ltr /iti/mysql/support-files | grep cnf
-rw-r--r-- 1 503 users 2404 9月 5 04:26 my-small.cnf
-rw-r--r-- 1 503 users 4766 9月 5 04:26 my-medium.cnf
-rw-r--r-- 1 503 users 4755 9月 5 04:26 my-large.cnf
-rw-r--r-- 1 503 users 20168 9月 5 04:26 my-innodb-heavy-4G.cnf
-rw-r--r-- 1 503 users 4781 9月 5 04:26 my-huge.cnf
上記の通り、small、medium、large、huge、innodb_heavyの5種類があり、
それぞれ環境に合わせて使用することができます。
今回は、少し大きめのmy-huge.cnfを使用することにします。
# cp -p /iti/mysql/support-files/my-huge.cnf /etc/my.cnf
このmycnfには、MySQLのインストールディレクトリとデータディレクトリを指
定するパラメータがあります。今回はどちらも変更していますので、変更先の
ディレクトリを設定する必要があります。
# vi /etc/my.cnf
[mysqld] <---このグループはmy-huge.cnfに既に存在しています
basedir = /iti/mysql
datadir = /iti/mysql/data
※datadirとbasedirは[mysqld]のグループに記述して下さい。
以上でMySQLを起動させるまでの作業は完了になります。
次回は、MySQLの起動、停止についてご説明することにしましょう。