MySQLのインストール

メモ:  Category:linux

インストールの準備

MySQLのインストールには、いくつかの方法があります。

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

http://dev.mysql.com/downloads/

MySQLのホームページでは、安定性とパフォーマンスを求めるならバイナリの使用を勧めるとなっています。

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

Source downloadsからTarballをダウンロードします。

/usr/local/srcへダウンロードします。

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

#groupadd mysql
#adduser -g mysql mysql

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

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

オプションは、

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

–with-mysqld-user=mysqlこのオプションは微妙です。INSTALL-SOURCEファイルにはありませんでした。

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

# make
# make install

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

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

./scripts/mysql_install_db --user=mysql

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

初期化が終了すると、mysqlとtestというデータベースが作成されます。

MySQLのrootユーザーパスワードの変更方法とかMySQLの起動方法とかが表示されれば正常終了だと思います。

データディレクトリ以下の所有者をmysqlに変更します。

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

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

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

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

# /usr/local/mysql/bin/mysqlshow

と入力して

+-----------+
| Databases |
+-----------+
| 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

bluenote by BBB