MySQL5.0.16のインストール

インストールの準備

MySQLのインストールには、バイナリインストール、パッケージ(RPM)、ソース の3種類の方法があります。バイナリーでは、さらに標準構成(Standard)、 フル機能(Max)、開発者向けのDebugの3つが用意されています。

MySQL ABからインストールに必要なファイルをダウンロードします。

ソースからのインストール

Source downloadsからTarballをダウンロードします。 /usr/local/srcへダウンロードします。

セキュリティ上・・・とのことで、専用ユーザーを作成します。

#groupadd mysql
#adduser -g mysql mysql

ダウンロードしたmysqlを展開します。

# tar xvfz mysql-5.0.16.tar.gz
# cd mysql-5.0.16
# ./configure --prefix=/usr/local/mysql \
 --with-charset=ujis \
 --with-extra-charsets=all \
 --with-mysqld-user=mysql

オプションは、 インストール先を/usr/local/mysqlに設定。 デフォルトの文字コードをEUCに設定。 デフォルト以外の文字コードもサポートする。

Thank you for choosing MySQL!と表示されれば終了です。

# make
# make install

古いマシンだったため、コンパイルにはかなりの時間がかかりました。

データベースを初期化します。

./scripts/mysql_install_db --user=mysql

データディレクトリを別途設定する場合は、オプションで --datadir=/var/mysql/data を追加します。

初期化が終了すると、mysqlとtestというデータベースが作成されます。 次のようにMySQLのrootユーザーパスワードの変更方法、MySQLの起動方法が表示 されれば正常終了です。

Installing all prepared tables
Fill help tables

To start mysqld at boot time you have to copy support-files/mysql.server
to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

インストールが完了したらデータディレクトリ以下の所有者をmysqlに変更します。

# chown -R mysql /usr/local/mysql/var
# chgrp -R mysql /usr/local/mysql/var

MySQLを下記コマンドで起動してみます。

# /usr/local/mysql/bin/mysqld_safe --user=mysql &

Starting mysqld daemon with databases from /usr/local/mysql/var

実行されているかを確認するには

# /usr/local/mysql/bin/mysqlshow

と入力して次のように表示されればインストールは終了です。

MySQL4にはなかったinformation_schemaが追加されています。

+--------------------+
| Databases          |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+

初期ユーザー設定

インストールしたばかりのMySQLではrootユーザーが作成されています。 rootユーザーのパスワードは設定されていないので、パスワードを 設定します。 設定方法は、3種類あります。

データベースへ接続するには、

$ mysql -u ユーザーID -p データベース名

今回は、初回のログインなので

# mysql -u root -p mysql

を実行します。

mysql> SELECT host,user,password from user;

を実行してユーザーを確認します。(以下に3種類の方法をあげます)

1.mysql> SET PASSWORD FOR root@localhost=PASSWORD('new_password');
2.mysql> GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'パスワード' WITH GRANT OPTION;
3.# /usr/bin/mysqladmin -u root -p password 'new-password'

ユーザー名無しの匿名ユーザーも作成されているので、 このユーザーは、削除します。権限はほとんどないそうですが 念のために削除します。

mysql> DELETE FROM user where user='';

匿名のユーザーが削除されたかを確認します。

mysql> SELECT host,user,password from user;

userにrootのみ表示されていれば成功です。

mysqlから切断するには

接続を切断するにはいくつかの方法が用意されています。 「\q」,「exit」,「quit」,[Ctrl]+[D]

起動設定

PlamoLinuxの場合

/etc/rc.d/rc.localを編集します。

if [ -x /usr/local/mysql/bin/mysqld_safe ]; then
    echo -n "Starting MySQL server "
    /usr/local/mysql/bin/mysqld_safe --user=mysql &
    echo "."
fi