MySQLのインストール

最終更新日時:2010-05-12 00:00:00
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


お問い合わせは 掲示板 にて。