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以外のユーザがアクセスすることができなくなりました。
