目次

MySQL :: MySQL のインストール

このページは MySQL の

についてのメモになります。


[前提条件]

今回は stow でパッケージ管理をします。
そのため、stow コマンドが実行可能であることが条件です。

インストール

1. まず最初に、グループ mysql とユーザ mysql を追加
% groupadd mysql
% adduser -g mysql -d /usr/local/var mysql

ユーザーホームディレクトリは、MySQLのデータディレクトリである /usr/local/var になる。
( /home/mysql にした方がよかったかも )

2. configure, make
% tar xvfz mysql-5.5.0.33.tar.gz
% cd mysql-5.5.0.33/
% ./configure --with-charset=ujis \
              --with-extra-charsets=all \
              --with-mysqld-user=mysql \
              --prefix=/usr/local/stow/mysql-5.0.33
% make
% make install
※ –prefix は Version 毎に変更になるので注意
※ コンパイルオプションについては、ページ下部(コンパイルオプション)参照

checking for termcap functions library... configure: 
error : No curses/termcap library found
% apt-get install libncurses5-dev
3. stow します
% sudo stow mysql
4. データベースを初期化
% sudo scripts/mysql_install_db --user=mysql
% sudo chown -R mysql:mysql /usr/local/stow/mysql

としてから、

% sudo -u mysql scripts/mysql_install_db
5. データディレクトリのオーナーをmysqlユーザーに修正

(私の環境では /usr/local/var を新規で作った。本来なら自動で作成されているらしい)

% sudo mkdir /usr/local/var
% sudo chown mysql:mysql /usr/local/var
6. 設定ファイル /etc/my.cnf を用意
% sudo cp support-files/my-medium.cnf /etc/my.cnf

ここでは標準的な設定ファイルを使用するが、用途に応じて my-huge.cnf、my-large.cnf、my-small.cnf のどれかを選択。

7. my.cnf の修正

下記では、デフォルトのテーブルタイプを「InnoDB」、デフォルトの文字コードを「EUC」に設定。

[mysqld]
 :
default-table-type=InnoDB
default-character-set=ujis
 :

必要であれば[mysqldump]セクションにも追加。

[mysqldump]
 :
default-character-set=ujis 
 :

[mysqldump]セクションに追加した場合は、mysqlコマンドだけでなくmysqladminコマンドにも影響する。
5.0ではmysqladminでエラーが発生するらしい。。

以上でインストールは完了。



動作確認

1. MySQLの起動は、mysqld_safeコマンドを使用
% sudo /usr/local/bin/mysqld_safe --user=mysql &
エラーになる場合は、データベース保存先ディレクトリ中の「ホスト名.err」ファイルを参照する。
正しく起動しているか確認するため、mysqladminコマンドでMySQLの環境変数を表示させるとよい。
この時、/etc/my.cnf で設定した内容が有効になっているか確認。

2. 設定項目の一覧を見る
% mysqladmin variable
3. パスワード設定
% mysqladmin -u root password new_password
4. 動作確認が完了したらMySQLを終了
% mysqladmin -u root shutdown



自動起動の設定

1. まず、rcスクリプトを用意

展開されたソースの support-files にrcスクリプトのひな型 mysql.server があるので、これを使用。
mysql.server を mysql という名前でコピーし、実行権限を与える。

% cd support-files
% sudo cp -p mysql.server mysql
% sudo chmod +x mysql
2. /etc/init.d にrcスクリプトを移動
% sudo mv mysql /etc/init.d/
3. /etc/rc2.d/ にシンボリックリンクを張る
% cd /etc/rc2.d/
% sudo ln -s ../init.d/mysql S90mysql
4. 可能であればサーバを再起動して自動起動するか確認
% sudo shutdown -r now




ディレクトリ構成

インストール後の構成
ディレクトリ 保存されるファイル
/usr/local/libexec/mysqld MySQLサーバ
/usr/local/bin/ コマンド類
/usr/local/lib/mysql/ ライブラリ
/usr/local/include/mysql/ includeファイル
/usr/local/var/ データベース保存先




コンパイルオプション

configure で指定したオプション
--with-charset 
デフォルトで使用される文字コードを指定。EUCならujis、Shift-JISならsjisになります。

--with-extra-charset 
デフォルトで指定された文字コード以外をサポートしたい場合の指定。
ここでは `all' とする。
これを指定しておくと、makeをやり直さなくても、異なる文字コードでサーバを起動することができる。 

--with-mysqld-user 
MySQLデーモンを起動するユーザーの指定。例では先ほど作成したユーザー`mysql'にしています。

--prefix
インストールPATH。