2php : MySQLとは

 

MySQLとは

MySQLとは、フリーで使えるデータベースで、商用のものと比較すると劣る面もありますが、WebデータベースとしてみるとMySQLは大変優れているデータベースといえます。大手の楽天ですら使っている事実もあります。Webデータベースを構築する場合、次の様な主立った特徴があります。

  • スピードが比較的速い
  • 比較的簡単
  • 無料
  • SQLのクエリーをサポートしている(外部から接続されることも可能)
  • 様々な言語(C,perl,JAVAなど)からも利用が可能

これだけでも十分利用する価値があると言えるかもしれません。類似したDB(データベース)として、PostgreSQLなどもありますが、MySQLよりも優れている点もありますが、とりあえずMySQLについて解説させて頂きます。

MySQLのインストール

MySQLのソースはMySQLのサイトからダウンロードできます。http://dev.mysql.com/downloads/からダウンロードのページにに行き、tar.gzと書かれているファイルをダウンロードします。

ダウンロード後、次のようにShellで処理します。

# tar zxvf mysql-x.xx.xx.tar.gz
# cd my*
# ./configure --with-low-memory --with-charset=ujis --prefix/usr/local/mysql/
# make
# su root
# make install
# ./scripts/mysql_install_db

ユーザの追加

MySQLを起動するためにユーザを追加する必要があります。MySQLはデーモンなので、mysqlというユーザで動作させる必要があります。mysqlというユーザを追加します。

# /usr/sbin/groupadd -g 80 mysql
# /usr/sbin/useradd - u 80 -g mysql mysql

UID/GIDを80に設定していますが、その他のユーザがこのIDを使っている場合、別のIDに設定してください。

MySQLサーバの起動

次にパーミッションを設定してから、起動します

# chown -R mysql.mysql /usr/local/mysql
# /usr/local/mysql/bin/safe_mysqld &

起動した後、ps ax | more でSQLが起動しているか確認してみましょう。

うまく起動した後、次回から自動的にMySQLが起動するように、/etc/rc.d/rc.localファイルに次の項目を追加します。

# vi /etc/rc.d/rc.local

-[/etc/rc.d/rc.localファイル]----
/usr/local/mysql/bin/safe_mysqld &
/usr/local/mysql/lib

MySQL rootユーザのパスワード

次にrootユーザのパスワードを設定する必要があります。パスワードの設定はmysqladminコマンドで設定する必要があります。

# /usr/local/mysql/bin/mysqladmin -u root password 'ここにパスワード'

不定なユーザの削除

パスワードなしでもMySQLサーバへアクセス可能なユーザを削除する必要があります。この時点では、パスワードなしでもMySQLサーバにアクセスし、閲覧することが可能です。さらに、外部からのアクセスも受ける状態になっているので、MySQLのrootユーザと追加したユーザしかアクセスできないように設定する必要があります。

# /usr/local/mysql/bin/mysql -u root -p
Enter password: *********
$ use mysql
Database Changed
$ DELETE FROM user WHERE Password = "";
$ exit

$マークはMySQLでのコマンドを指します。DELETE FROM user WHERE Password "";と入力することで、初期設定で存在するパスワード入力なしでもアクセスできるユーザを削除します。そして次にテーブルをフラッシュ(FLUSH)します。

$ FLUSH PRIVILEGES;

これでroot以外のユーザがアクセスすることができなくなりました。