MySQLのインストール
MySQL
MySQL-5.1.41の例です。
※MySQL-5.1.44も同様。
※MySQL-4.1.16 でもほぼ同様。
まず、公式サイトからアーカイブを取得し、適当なディレクトリに展開します。
% gzip -dc mysql-5.1.41.tar.gz | tar xvf - % cd mysql-5.1.41
次に configure を実行するのですが、デフォルトだと /usr/local 以下にバラバラにインストールされてしまうので、--prefix を指定します。
また、EUC を文字コードとして使うのであれば、--with-charset=ujis --with-extra-charsets=all
を指定します。
その他にも多数のパラメータがあるので、インストール前に一通り見ておく方がよいと思います。
% ./configure --with-charset=ujis --with-extra-charsets=all --prefix=/usr/local/mysql % make % su # make install
インストール後、データベースの初期化を行います。
# /usr/local/mysql/bin/mysql_install_db --basedir=/usr/local/mysql
なお、MySQL-5.x より、--basedir=/usr/local/mysql
を明示的に指定しないと以下のようなエラーが出るようになりました。
FATAL ERROR: Could not find /usr/local/bin/my_print_defaults
基本的にはこれで完了ですが、専用のユーザにて MySQL を稼働させる方がセキュリティ的に好ましいので、以下のようにユーザーを作成し、パーミッションも設定します。
# useradd mysql -d /usr/local/mysql # chown -R root /usr/local/mysql # chown -R mysql /usr/local/var/mysql # chgrp -R mysql /usr/local/mysql
※MySQL-4.x では /usr/local/var/mysql ではなく、/usr/local/mysql/var
バグ?
バグにより、以下のようなエラーがでることがあるようです。
config.status: executing libtool commands /bin/rm: cannot remove `libtoolT': No such file or directory
私も1回遭遇したのですが、原因不明。
しかも、そのままビルドを続行し、実行しても問題無さそう。。。。
設定
support-files/my-medium.cnf をひな型として使用します。
/usr/local/mysql/etc/my.cnf としてコピーし、修正が必要な箇所を適宜修正。
log=....とすると、mysql の詳細ログを出力できます。デバッグ用。
実行
以下のようにして起動します。
# /usr/local/mysql/bin/mysqld_safe
デフォルトの状態で既にユーザーがいくつか作成されていますが、不要なものは削除しておいた方がよいでしょう。
例えば以下のような感じ。
# /usr/local/mysql/bin/mysql mysql> delete from user where User=''; mysql> exit
※mysql_secure_installationを使うと、より簡単に、より確実に不要なものが削除できると思います。
以下のようにして停止します。
# /usr/local/mysql/bin/mysqladmin shutdown